リファレンス
HTTP・実行例
60の例(全134操作のうち56操作)を載せています。すべて合成データのリクエストと応答です。実際の利用環境での実行結果ではなく、実機動作は未確認です。HTTPヘッダーとJSONは共通examples JSONから生成し、OpenAPIのexamplesにも同じ内容を使用します。時刻、UUID、版、fingerprint、storeは説明用です。実行時には現在の取得結果へ置き換えてください。
成功応答の値は固定の期待値ではありません。表の権限や現在版に従い変化します。公開資料は検証用のデータ投入を自動的に行いません。アプリの登録と運用に沿い、検証専用の表で実行してください。
サンプルアプリ
架空の作業メモを使って、APIの組み合わせを説明します。完成した配布アプリではなく、実装を考えるための例です。顧客の実データは含みません。説明どおりの実機動作は未確認です。
表と権限
表demo_tasksに、text型のtitle(件名)を定義します。まずはこの1列で読み書きを確認します。担当者・顧客・連絡先を管理する業務や、特定のOS・配置先を前提にしません。表を作るには事前の設計権限、行の読み書きには対象の表と列の権限が必要です。
接続と読み取り
ブラウザー → アプリのサーバー側(BFF)→ 基盤APIの構成を例にします。人のログインは認証サービスのOIDC Authorization Code + PKCEとMFAを使います。登録済みclient_id等が必要で、個別アプリの登録・BFF接続は準備中です。
- 接続情報と利用環境の有効機能・稼働版を確認します。
- 本人として接続し、
GET /v1/meを確認します。 - 表のdefinitionから
schema_versionを取得します。 POST /v2/tables/{collection}/queryで、許可された作業メモを読みます。空の一覧と認証エラーを区別します。
作成・更新・競合
HTTP・実行例のv2-create、v2-query、v2-updateを参照します。新規作成のidはサーバーが決めます。更新には取得したid・versionと現在のschema_versionを使い、操作ごとにIdempotency-Keyを作ります。
412なら最新値と編集内容を比較して利用者に確認します。通信が途切れただけなら、同じキーと本文を保持して結果を確認し、別キーで二重に更新しません。競合・再送・復帰を参照してください。
画像と自動処理を追加する場合
画像を扱う場合は、別途asset_ref型の欄と利用環境のpolicyを確認します。外部参照の例は保存先sample-files内のexamples/sample-image.pngです。任意のURLやOSの絶対パスを保存しません。画像とDropbox連携を参照してください。
無人処理には承認済みserviceを使い、人のJWTを流用しません。MCPは管理サイトの接続キーで使う取込用8ツールです。人OIDC、service JWT、MCP接続キーは別々に管理します。
サンプルの実行
PythonはPython 3.10以上の標準ライブラリ、JavaScriptはNode.js 22以上で動作します。どちらも選択した1リクエストのみを送信し、自動再試行しません。examples JSONを同じフォルダーへ保存して、置換済みのリクエストファイルを指定します。
shpython request.py --base https://api.example.invalid --request my-request.json
node request.mjs --base https://api.example.invalid --request my-request.json
資格は環境変数CP_ACCESS_TOKEN、またはPythonの非表示対話入力で渡します。スクリプトやリクエストファイルへ埋め込みません。CP_ACCESS_TOKENは利用者として接続するで取得したaccess_tokenです。baseは、環境管理者から受け取った、基盤のHTTPS originへ置き換えます。検証CAはPythonの --ca 引数、NodeのNODE_EXTRA_CA_CERTSで設定し、TLS検証を無効化しません。
my-request.jsonは下の共通JSONから1件を選び、headers内のAuthorizationプレースホルダー以外の値、url、bodyを実際の利用環境向けに直したものです。書込はIdempotency-Keyと期待版を確認してから実行します。
本人を確認
httpGET /v1/me HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/jsonhttpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 33333333-3333-4333-8333-333333333333
Cache-Control: no-store
{
"id": "11111111-1111-4111-8111-111111111111",
"actor_type": "human",
"permissions": [],
"capabilities": [],
"contract_expires_at": null,
"checked_at": "2026-10-04T00:00:00Z",
"session": {
"absolute_expires_at": "2026-10-04T01:00:00Z",
"idle_expires_at": "2026-10-04T00:30:00Z"
}
}
v1の表一覧
httpGET /v1/tables HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/jsonhttpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 33333333-3333-4333-8333-333333333333
Cache-Control: no-store
{
"items": [
{
"id": "demo_tasks",
"revision": 1,
"label": "作業"
}
],
"role": "designer"
}
v1の最初のページ
httpPOST /v1/tables/demo_tasks/query HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/json
{
"limit": 50,
"sort": {
"field": "title",
"direction": "asc"
},
"filters": [
{
"field": "title",
"op": "contains",
"value": "見本"
}
]
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 33333333-3333-4333-8333-333333333333
Cache-Control: no-store
{
"items": [
{
"id": "11111111-1111-4111-8111-111111111111",
"version": 1,
"status": "committed",
"values": {
"title": "見本"
}
}
],
"next_cursor": null,
"revision": 2,
"schema_version": 1
}
v1行を作成
httpPOST /v1/tables/demo_tasks/batch HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/json
Idempotency-Key: docs-v1-create-001
{
"schema_version": 1,
"operations": [
{
"action": "create",
"id": "11111111-1111-4111-8111-111111111111",
"version": 0,
"status": "committed",
"values": {
"title": "見本"
}
}
]
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 33333333-3333-4333-8333-333333333333
Cache-Control: no-store
{
"rows": [
{
"id": "11111111-1111-4111-8111-111111111111",
"version": 1,
"deleted": false
}
],
"schema_version": 1,
"revision": 2,
"committed": true
}
v2表を定義
httpPUT /v2/tables/demo_tasks HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/json
If-Match: "0"
Idempotency-Key: docs-v2-define-001
{
"label": "作業",
"fields": [
{
"id": "title",
"label": "件名",
"type": "text",
"required": true,
"read": [
"staff"
],
"write": [
"staff"
],
"searchable": true,
"choices": []
}
],
"export_roles": [
"staff"
]
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 33333333-3333-4333-8333-333333333333
Cache-Control: no-store
{
"schema_version": 1
}
v2行を作成
httpPOST /v2/tables/demo_tasks/batch HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/json
Idempotency-Key: docs-v2-create-001
{
"schema_version": 1,
"operations": [
{
"action": "create",
"status": "committed",
"values": {
"title": "見本"
}
}
]
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 33333333-3333-4333-8333-333333333333
Cache-Control: no-store
{
"rows": [
{
"id": "11111111-1111-4111-8111-111111111111",
"version": 1,
"deleted": false
}
],
"schema_version": 1
}
v2行を検索
httpPOST /v2/tables/demo_tasks/query HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/json
{
"limit": 50
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 33333333-3333-4333-8333-333333333333
Cache-Control: no-store
{
"items": [
{
"id": "11111111-1111-4111-8111-111111111111",
"version": 1,
"status": "committed",
"values": {
"title": "見本"
},
"closed": false,
"is_owner": true
}
],
"next_cursor": null,
"revision": "sample-visible-revision",
"schema_version": 1
}
v2行を更新
httpPOST /v2/tables/demo_tasks/batch HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/json
Idempotency-Key: docs-v2-update-001
{
"schema_version": 1,
"operations": [
{
"action": "update",
"id": "11111111-1111-4111-8111-111111111111",
"version": 1,
"values": {
"title": "確認済み"
}
}
]
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 33333333-3333-4333-8333-333333333333
Cache-Control: no-store
{
"rows": [
{
"id": "11111111-1111-4111-8111-111111111111",
"version": 2,
"deleted": false
}
],
"schema_version": 1
}
v2行をごみ箱へ
httpPOST /v2/tables/demo_tasks/batch HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/json
Idempotency-Key: docs-v2-delete-001
{
"schema_version": 1,
"operations": [
{
"action": "delete",
"id": "11111111-1111-4111-8111-111111111111",
"version": 2,
"reason": "検証用の行を削除"
}
]
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 33333333-3333-4333-8333-333333333333
Cache-Control: no-store
{
"rows": [
{
"id": "11111111-1111-4111-8111-111111111111",
"version": 3,
"deleted": true
}
],
"schema_version": 1
}
行をごみ箱から復元
httpPOST /v2/tables/demo_tasks/trash/22222222-2222-4222-8222-222222222222/restore HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/json
Idempotency-Key: docs-v2-restore-001
{
"version": 3,
"reason": "検証後に復元"
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 33333333-3333-4333-8333-333333333333
Cache-Control: no-store
{
"id": "11111111-1111-4111-8111-111111111111",
"version": 4,
"trash_id": "22222222-2222-4222-8222-222222222222",
"schema_version": 1
}
子表の親所属を設定
httpPUT /v2/tables/demo_lines/access HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/json
If-Match: "0"
Idempotency-Key: docs-relation-001
{
"mode": "members",
"parent_collection": "demo_tasks",
"field": "parent_id",
"cardinality": "many"
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 33333333-3333-4333-8333-333333333333
Cache-Control: no-store
{
"version": 1
}
本人へ表利用権を設定
httpPUT /v2/access/grants/11111111-1111-4111-8111-111111111111/demo_tasks HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/json
{
"version": 0,
"enabled": true,
"role": "staff",
"read_scope": "all",
"write_scope": "all",
"can_design": true,
"can_close": true,
"can_import": true,
"expires_at": "2026-10-05T00:00:00Z"
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 33333333-3333-4333-8333-333333333333
Cache-Control: no-store
{
"version": 1,
"grant": {
"actor": "11111111-1111-4111-8111-111111111111",
"client": "hub-spa",
"collection": "demo_tasks",
"role": "staff",
"read_scope": "all",
"write_scope": "all",
"can_design": true,
"can_close": true,
"can_import": true,
"expires_at": "2026-10-05T00:00:00Z"
}
}
アプリ登録計画
httpPOST /v2/apps/plan HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/json
{
"id": "demo_app",
"version": 1,
"name": "検証アプリ",
"datasets": [
{
"id": "demo_tasks",
"mode": "owned",
"definition": {
"label": "作業",
"fields": [
{
"id": "title",
"label": "件名",
"type": "text",
"required": true,
"read": [
"staff"
],
"write": [
"staff"
],
"searchable": true,
"choices": []
}
],
"export_roles": [
"staff"
]
}
}
],
"dependencies": []
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 33333333-3333-4333-8333-333333333333
Cache-Control: no-store
{
"fingerprint": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"revision": 0,
"changes": [
{
"id": "demo_tasks",
"mode": "owned",
"action": "create",
"version": 0
}
]
}
確認したアプリ計画を反映
httpPOST /v2/apps/apply HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/json
Idempotency-Key: docs-app-apply-001
{
"manifest": {
"id": "demo_app",
"version": 1,
"name": "検証アプリ",
"datasets": [
{
"id": "demo_tasks",
"mode": "owned",
"definition": {
"label": "作業",
"fields": [
{
"id": "title",
"label": "件名",
"type": "text",
"required": true,
"read": [
"staff"
],
"write": [
"staff"
],
"searchable": true,
"choices": []
}
],
"export_roles": [
"staff"
]
}
}
],
"dependencies": []
},
"fingerprint": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 33333333-3333-4333-8333-333333333333
Cache-Control: no-store
{
"id": "demo_app",
"version": 1,
"revision": 1,
"state": "active",
"manifest": {
"id": "demo_app",
"version": 1,
"name": "検証アプリ",
"datasets": [
{
"id": "demo_tasks",
"mode": "owned",
"definition": {
"label": "作業",
"fields": [
{
"id": "title",
"label": "件名",
"type": "text",
"required": true,
"read": [
"staff"
],
"write": [
"staff"
],
"searchable": true,
"choices": []
}
],
"export_roles": [
"staff"
]
}
}
],
"dependencies": []
},
"deleted_at": null,
"restore_until": null
}
アプリを停止
httpPOST /v2/apps/demo_app/state HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/json
Idempotency-Key: docs-app-stop-001
{
"action": "stop",
"revision": 1,
"reason": "検証停止"
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 33333333-3333-4333-8333-333333333333
Cache-Control: no-store
{
"id": "demo_app",
"version": 1,
"revision": 2,
"state": "stopped",
"manifest": {
"id": "demo_app",
"version": 1,
"name": "検証アプリ",
"datasets": [
{
"id": "demo_tasks",
"mode": "owned",
"definition": {
"label": "作業",
"fields": [
{
"id": "title",
"label": "件名",
"type": "text",
"required": true,
"read": [
"staff"
],
"write": [
"staff"
],
"searchable": true,
"choices": []
}
],
"export_roles": [
"staff"
]
}
}
],
"dependencies": []
},
"deleted_at": null,
"restore_until": null
}
serviceの許可済み表を取得
httpPOST /v2/service/tables/demo_tasks/query HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/json
{
"limit": 50
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 33333333-3333-4333-8333-333333333333
Cache-Control: no-store
{
"schema_version": 1,
"items": [
{
"id": "11111111-1111-4111-8111-111111111111",
"version": 1,
"values": {
"title": "見本"
},
"status": "committed",
"closed": false
}
],
"next_after": null
}
外部原本への画像参照
httpPOST /v2/media/demo_tasks/11111111-1111-4111-8111-111111111111/picture/22222222-2222-4222-8222-222222222222/reference HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/json
If-Match: "0"
Idempotency-Key: docs-media-ref-001
X-Parent-Version: 1
X-Schema-Version: 1
{
"store": "demo-store",
"relative_path": "examples/sample.png",
"media_type": "image/png",
"name": "見本.png"
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 33333333-3333-4333-8333-333333333333
Cache-Control: no-store
{
"asset_id": "22222222-2222-4222-8222-222222222222",
"version": 1,
"deleted": false,
"updated_at": "2026-10-04T00:00:00Z",
"custody": "external_reference",
"media_type": "image/png",
"name": "見本.png",
"size": 70,
"sha256": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
"preview": "ready"
}
If-Matchで既存ケースを更新
httpPATCH /v1/jobs/11111111-1111-4111-8111-111111111111 HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/merge-patch+json
If-Match: "1"
Idempotency-Key: docs-job-patch-001
{
"notes": "確認済み"
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 33333333-3333-4333-8333-333333333333
Cache-Control: no-store
{
"id": "11111111-1111-4111-8111-111111111111",
"version": "2"
}
古い版で更新すると412
httpPATCH /v1/jobs/11111111-1111-4111-8111-111111111111 HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/merge-patch+json
If-Match: "1"
Idempotency-Key: docs-job-patch-002
{
"notes": "別の変更"
}httpHTTP/1.1 412
Content-Type: application/problem+json
X-Request-Id: 33333333-3333-4333-8333-333333333333
Cache-Control: no-store
{
"type": "urn:hub:problem:version-conflict",
"title": "操作を完了できません",
"status": 412,
"code": "VERSION_CONFLICT",
"request_id": "33333333-3333-4333-8333-333333333333"
}
資格なしは401
httpGET /v1/me HTTP/1.1
Host: api.example.invalid
Accept: application/jsonhttpHTTP/1.1 401
Content-Type: application/problem+json
X-Request-Id: 33333333-3333-4333-8333-333333333333
Cache-Control: no-store
{
"type": "urn:hub:problem:auth-required",
"title": "操作を完了できません",
"status": 401,
"code": "AUTH_REQUIRED",
"request_id": "33333333-3333-4333-8333-333333333333"
}
データ移行の一覧を取得
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpGET /v2/data-migrations HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/jsonhttpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"items": [
{
"id": "44444444-4444-4444-8444-444444444444",
"app": "demo_app",
"state": "scanning",
"revision": 1,
"created_at": "2026-10-04T00:00:00Z",
"is_owner": true
}
]
}
移行前後の行を比較
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpPOST /v2/data-migrations/44444444-4444-4444-8444-444444444444/preview HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/json
{
"collection": "demo_tasks"
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"collection": "demo_tasks",
"items": [
{
"id": "22222222-2222-4222-8222-222222222222",
"before": {
"title": "合成データ"
},
"after_values": {
"title": "合成データ"
},
"error": null
}
]
}
データ移行計画を作成
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpPOST /v2/data-migrations/plan HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/json
{
"migration_id": "44444444-4444-4444-8444-444444444444",
"package": {
"manifest": {
"id": "demo_app",
"version": 1,
"name": "検証アプリ",
"datasets": [
{
"id": "demo_tasks",
"mode": "owned",
"definition": {
"label": "作業",
"fields": [
{
"id": "title",
"label": "件名",
"type": "text",
"required": true,
"read": [
"staff"
],
"write": [
"staff"
],
"searchable": true,
"choices": []
}
],
"export_roles": [
"staff"
]
}
}
],
"dependencies": []
},
"csv": [
{
"collection": "demo_tasks",
"key_fields": [
"title"
]
}
]
},
"transforms": [
{
"collection": "demo_tasks",
"fields": [
{
"target": "title",
"source": "title",
"convert": "identity"
}
]
}
],
"reason": "列定義の移行を検証"
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"fingerprint": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"migration": {
"migration_id": "44444444-4444-4444-8444-444444444444",
"package": {
"manifest": {
"id": "demo_app",
"version": 1,
"name": "検証アプリ",
"datasets": [
{
"id": "demo_tasks",
"mode": "owned",
"definition": {
"label": "作業",
"fields": [
{
"id": "title",
"label": "件名",
"type": "text",
"required": true,
"read": [
"staff"
],
"write": [
"staff"
],
"searchable": true,
"choices": []
}
],
"export_roles": [
"staff"
]
}
}
],
"dependencies": []
},
"csv": [
{
"collection": "demo_tasks",
"key_fields": [
"title"
]
}
]
},
"transforms": [
{
"collection": "demo_tasks",
"fields": [
{
"target": "title",
"source": "title",
"convert": "identity"
}
]
}
],
"reason": "列定義の移行を検証"
},
"tables": [
{
"collection": "demo_tasks",
"version": 1,
"count": 1
}
]
}
確認済みデータ移行を開始
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpPOST /v2/data-migrations/begin HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/json
{
"migration": {
"migration_id": "44444444-4444-4444-8444-444444444444",
"package": {
"manifest": {
"id": "demo_app",
"version": 1,
"name": "検証アプリ",
"datasets": [
{
"id": "demo_tasks",
"mode": "owned",
"definition": {
"label": "作業",
"fields": [
{
"id": "title",
"label": "件名",
"type": "text",
"required": true,
"read": [
"staff"
],
"write": [
"staff"
],
"searchable": true,
"choices": []
}
],
"export_roles": [
"staff"
]
}
}
],
"dependencies": []
},
"csv": [
{
"collection": "demo_tasks",
"key_fields": [
"title"
]
}
]
},
"transforms": [
{
"collection": "demo_tasks",
"fields": [
{
"target": "title",
"source": "title",
"convert": "identity"
}
]
}
],
"reason": "列定義の移行を検証"
},
"fingerprint": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"id": "44444444-4444-4444-8444-444444444444",
"state": "scanning",
"revision": 1,
"app": "demo_app",
"reason": "列定義の移行を検証",
"targets": [
{
"collection": "demo_tasks",
"source_count": 1,
"scanned": 0,
"cursor": null,
"done": false
}
],
"verified": 0,
"errors": [],
"error_count": 0,
"response": null
}
データ移行の進捗を取得
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpGET /v2/data-migrations/44444444-4444-4444-8444-444444444444 HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/jsonhttpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"id": "44444444-4444-4444-8444-444444444444",
"state": "scanning",
"revision": 1,
"app": "demo_app",
"reason": "列定義の移行を検証",
"targets": [
{
"collection": "demo_tasks",
"source_count": 1,
"scanned": 0,
"cursor": null,
"done": false
}
],
"verified": 0,
"errors": [],
"error_count": 0,
"response": null
}
データ移行を次の区間へ進める
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpPOST /v2/data-migrations/44444444-4444-4444-8444-444444444444/next HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Idempotency-Key: demo-request-20261004-01
Content-Type: application/json
{
"revision": 1
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"id": "44444444-4444-4444-8444-444444444444",
"state": "verifying",
"revision": 2,
"app": "demo_app",
"reason": "列定義の移行を検証",
"targets": [
{
"collection": "demo_tasks",
"source_count": 1,
"scanned": 1,
"cursor": "22222222-2222-4222-8222-222222222222",
"done": true
}
],
"verified": 0,
"errors": [],
"error_count": 0,
"response": null
}
検証済みデータ移行を確定
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpPOST /v2/data-migrations/44444444-4444-4444-8444-444444444444/commit HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Idempotency-Key: demo-request-20261004-01
Content-Type: application/json
{
"revision": 3
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"id": "44444444-4444-4444-8444-444444444444",
"state": "committed",
"revision": 4,
"app": "demo_app",
"reason": "列定義の移行を検証",
"targets": [
{
"collection": "demo_tasks",
"source_count": 1,
"scanned": 1,
"cursor": "22222222-2222-4222-8222-222222222222",
"done": true
}
],
"verified": 1,
"errors": [],
"error_count": 0,
"response": {
"id": "demo_app"
}
}
データ移行を中止
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpPOST /v2/data-migrations/44444444-4444-4444-8444-444444444444/cancel HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/json
{
"revision": 1,
"reason": "移行計画を見直す"
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"id": "44444444-4444-4444-8444-444444444444",
"state": "cancelled",
"revision": 2
}
既存アプリ台帳の採用を計画
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpPOST /v2/app-adoptions/plan HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/json
{
"migration_id": "44444444-4444-4444-8444-444444444444",
"source_fingerprint": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"apps": [
{
"package": {
"manifest": {
"id": "demo_app",
"version": 1,
"name": "検証アプリ",
"datasets": [
{
"id": "demo_tasks",
"mode": "owned",
"definition": {
"label": "作業",
"fields": [
{
"id": "title",
"label": "件名",
"type": "text",
"required": true,
"read": [
"staff"
],
"write": [
"staff"
],
"searchable": true,
"choices": []
}
],
"export_roles": [
"staff"
]
}
}
],
"dependencies": []
},
"csv": [
{
"collection": "demo_tasks",
"key_fields": [
"title"
]
}
],
"requirements": {
"dependencies": [],
"integrations": [],
"service_clients": []
}
},
"revision": 1,
"state": "active",
"legacy_state": "registered"
}
]
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"fingerprint": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"migration_id": "44444444-4444-4444-8444-444444444444",
"source_fingerprint": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"observed": {}
}
確認済みの既存アプリ台帳を採用
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpPOST /v2/app-adoptions/apply HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Idempotency-Key: demo-request-20261004-01
Content-Type: application/json
{
"migration": {
"migration_id": "44444444-4444-4444-8444-444444444444",
"source_fingerprint": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"apps": [
{
"package": {
"manifest": {
"id": "demo_app",
"version": 1,
"name": "検証アプリ",
"datasets": [
{
"id": "demo_tasks",
"mode": "owned",
"definition": {
"label": "作業",
"fields": [
{
"id": "title",
"label": "件名",
"type": "text",
"required": true,
"read": [
"staff"
],
"write": [
"staff"
],
"searchable": true,
"choices": []
}
],
"export_roles": [
"staff"
]
}
}
],
"dependencies": []
},
"csv": [
{
"collection": "demo_tasks",
"key_fields": [
"title"
]
}
],
"requirements": {
"dependencies": [],
"integrations": [],
"service_clients": []
}
},
"revision": 1,
"state": "active",
"legacy_state": "registered"
}
]
},
"fingerprint": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"migration_id": "44444444-4444-4444-8444-444444444444",
"source_fingerprint": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"states": {
"demo_app": "active"
},
"apps": [
{
"id": "demo_app",
"version": 1,
"revision": 1,
"state": "active",
"manifest": {
"id": "demo_app",
"version": 1,
"name": "検証アプリ",
"datasets": [
{
"id": "demo_tasks",
"mode": "owned",
"definition": {
"label": "作業",
"fields": [
{
"id": "title",
"label": "件名",
"type": "text",
"required": true,
"read": [
"staff"
],
"write": [
"staff"
],
"searchable": true,
"choices": []
}
],
"export_roles": [
"staff"
]
}
}
],
"dependencies": []
},
"deleted_at": null,
"restore_until": null
}
]
}
アプリ接続要件の変更を計画
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpPOST /v2/apps/demo_app/requirements/plan HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/json
{
"dependencies": [],
"integrations": [],
"service_clients": []
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"revision": 1,
"before": {
"dependencies": [],
"integrations": [],
"service_clients": []
},
"requirements": {
"dependencies": [],
"integrations": [],
"service_clients": []
},
"blockers": [],
"dependencies": [],
"clients": [],
"fingerprint": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"app_revision": 1,
"state_after": "active"
}
確認済みアプリ接続要件を適用
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpPOST /v2/apps/demo_app/requirements/apply HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Idempotency-Key: demo-request-20261004-01
Content-Type: application/json
{
"requirements": {
"dependencies": [],
"integrations": [],
"service_clients": []
},
"fingerprint": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"id": "demo_app",
"version": 1,
"revision": 1,
"state": "active",
"manifest": {
"id": "demo_app",
"version": 1,
"name": "検証アプリ",
"datasets": [
{
"id": "demo_tasks",
"mode": "owned",
"definition": {
"label": "作業",
"fields": [
{
"id": "title",
"label": "件名",
"type": "text",
"required": true,
"read": [
"staff"
],
"write": [
"staff"
],
"searchable": true,
"choices": []
}
],
"export_roles": [
"staff"
]
}
}
],
"dependencies": []
},
"deleted_at": null,
"restore_until": null,
"requirements": {
"revision": 1,
"before": {
"dependencies": [],
"integrations": [],
"service_clients": []
},
"requirements": {
"dependencies": [],
"integrations": [],
"service_clients": []
},
"blockers": [],
"dependencies": [],
"clients": []
}
}
本人が利用可能な取込形式を一覧取得
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpGET /v2/import-profiles HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/jsonhttpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"items": [
{
"contract_id": "44444444-4444-4444-8444-444444444444",
"kind": "workspace-v1",
"id": "demo_tasks",
"collection": "demo_tasks",
"label": "作業",
"definition": {
"label": "作業",
"fields": [
{
"id": "title",
"label": "件名",
"type": "text",
"required": true,
"read": [
"staff"
],
"write": [
"staff"
],
"searchable": true,
"choices": []
}
],
"export_roles": [
"staff"
]
},
"key_columns": [
"title"
],
"headers": [
"title"
]
}
]
}
版付きCSV契約で行を取込
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpPOST /v2/tables/demo_tasks/import-profile HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Idempotency-Key: demo-request-20261004-01
Content-Type: application/json
{
"contract_id": "44444444-4444-4444-8444-444444444444",
"schema_version": 1,
"expected_actor": "11111111-1111-4111-8111-111111111111",
"operations": [
{
"action": "create",
"values": {
"title": "合成データ"
},
"status": "committed"
}
]
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"rows": [
{
"id": "22222222-2222-4222-8222-222222222222",
"version": 1,
"deleted": false
}
],
"schema_version": 1
}
アプリとCSV契約を取得
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpGET /v2/app-packages/demo_app HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/jsonhttpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"id": "demo_app",
"version": 1,
"revision": 1,
"state": "active",
"manifest": {
"id": "demo_app",
"version": 1,
"name": "検証アプリ",
"datasets": [
{
"id": "demo_tasks",
"mode": "owned",
"definition": {
"label": "作業",
"fields": [
{
"id": "title",
"label": "件名",
"type": "text",
"required": true,
"read": [
"staff"
],
"write": [
"staff"
],
"searchable": true,
"choices": []
}
],
"export_roles": [
"staff"
]
}
}
],
"dependencies": []
},
"deleted_at": null,
"restore_until": null,
"csv": [
{
"collection": "demo_tasks",
"key_fields": [
"title"
]
}
]
}
アプリとCSV契約の変更を計画
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpPOST /v2/app-packages/plan HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/json
{
"manifest": {
"id": "demo_app",
"version": 1,
"name": "検証アプリ",
"datasets": [
{
"id": "demo_tasks",
"mode": "owned",
"definition": {
"label": "作業",
"fields": [
{
"id": "title",
"label": "件名",
"type": "text",
"required": true,
"read": [
"staff"
],
"write": [
"staff"
],
"searchable": true,
"choices": []
}
],
"export_roles": [
"staff"
]
}
}
],
"dependencies": []
},
"csv": [
{
"collection": "demo_tasks",
"key_fields": [
"title"
]
}
]
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"fingerprint": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"app_fingerprint": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"revision": 0,
"changes": [
{
"id": "demo_tasks",
"mode": "owned",
"action": "create",
"version": 0
}
],
"csv_before": [],
"csv_after": [
{
"collection": "demo_tasks",
"key_fields": [
"title"
]
}
]
}
確認済みアプリとCSV契約を適用
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpPOST /v2/app-packages/apply HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Idempotency-Key: demo-request-20261004-01
Content-Type: application/json
{
"package": {
"manifest": {
"id": "demo_app",
"version": 1,
"name": "検証アプリ",
"datasets": [
{
"id": "demo_tasks",
"mode": "owned",
"definition": {
"label": "作業",
"fields": [
{
"id": "title",
"label": "件名",
"type": "text",
"required": true,
"read": [
"staff"
],
"write": [
"staff"
],
"searchable": true,
"choices": []
}
],
"export_roles": [
"staff"
]
}
}
],
"dependencies": []
},
"csv": [
{
"collection": "demo_tasks",
"key_fields": [
"title"
]
}
]
},
"fingerprint": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"id": "demo_app",
"version": 1,
"revision": 1,
"state": "active",
"manifest": {
"id": "demo_app",
"version": 1,
"name": "検証アプリ",
"datasets": [
{
"id": "demo_tasks",
"mode": "owned",
"definition": {
"label": "作業",
"fields": [
{
"id": "title",
"label": "件名",
"type": "text",
"required": true,
"read": [
"staff"
],
"write": [
"staff"
],
"searchable": true,
"choices": []
}
],
"export_roles": [
"staff"
]
}
}
],
"dependencies": []
},
"deleted_at": null,
"restore_until": null,
"csv": [
{
"collection": "demo_tasks",
"key_fields": [
"title"
]
}
]
}
利用環境の容量とアプリ件数を取得
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpGET /v2/organization/overview HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/jsonhttpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"as_of": "2026-10-04T00:00:00Z",
"data_api": "available",
"applications": {
"active": 1,
"stopped": 0,
"detached": 0,
"trashed": 0
},
"defined_tables": 1,
"storage": {
"database_bytes": 10485760,
"quota_bytes": null,
"managed_object_bytes": null,
"external_original_bytes": null,
"backup_bytes": null
},
"measurement_scope": "dedicated_environment_database",
"backup_state": "not_connected",
"contract_state": "not_connected"
}
組織設定を取得
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpGET /v2/organization/settings HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/jsonhttpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"version": 1,
"values": {
"organization_name": "検証用組織",
"contact_note": "連絡先は別途交付"
},
"updated_at": "2026-10-04T00:00:00Z"
}
組織設定の変更を計画
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpPOST /v2/organization/settings/plan HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/json
{
"version": 1,
"values": {
"organization_name": "検証用組織",
"contact_note": "連絡先は別途交付"
},
"reason": "表示名を更新"
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"before": {
"version": 1,
"values": {
"organization_name": "検証用組織",
"contact_note": "連絡先は別途交付"
},
"updated_at": "2026-10-04T00:00:00Z"
},
"change": {
"version": 1,
"values": {
"organization_name": "検証用組織",
"contact_note": "連絡先は別途交付"
},
"reason": "表示名を更新"
},
"fingerprint": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}
確認済み組織設定を適用
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpPOST /v2/organization/settings/apply HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Idempotency-Key: demo-request-20261004-01
Content-Type: application/json
{
"change": {
"version": 1,
"values": {
"organization_name": "検証用組織",
"contact_note": "連絡先は別途交付"
},
"reason": "表示名を更新"
},
"fingerprint": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"version": 2,
"values": {
"organization_name": "検証用組織",
"contact_note": "連絡先は別途交付"
},
"updated_at": "2026-10-04T00:00:00Z"
}
確定操作の履歴を検索
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpPOST /v2/organization/activity HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/json
{
"limit": 20,
"source": "organization"
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"items": [
{
"source": "organization",
"sequence": "1",
"request_id": "44444444-4444-4444-8444-444444444444",
"actor": "11111111-1111-4111-8111-111111111111",
"client": "hub-spa",
"target": "organization",
"action": "settings.apply",
"reason": "表示名を更新",
"at": "2026-10-04T00:00:00Z"
}
],
"next_cursor": null,
"until": "2026-10-04T00:01:00Z",
"sources": [
"organization"
]
}
本人の行削除範囲を取得
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpGET /v2/access/deletions/11111111-1111-4111-8111-111111111111/demo_people HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/jsonhttpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"version": 0,
"grant": null
}
本人の行削除範囲を設定
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpPUT /v2/access/deletions/11111111-1111-4111-8111-111111111111/demo_people HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Idempotency-Key: demo-request-20261004-01
Content-Type: application/json
{
"version": 0,
"scope": "own",
"expires_at": "2026-10-05T00:00:00Z",
"reason": "本人の行の削除を許可"
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"version": 1,
"grant": {
"version": 1,
"scope": "own",
"expires_at": "2026-10-05T00:00:00Z",
"source": "explicit"
}
}
人物表の登録状態を取得
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpGET /v2/access/people/demo_people HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/jsonhttpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"version": 0,
"root": null
}
人物表を登録
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpPUT /v2/access/people/demo_people HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Idempotency-Key: demo-request-20261004-01
Content-Type: application/json
{
"version": 0,
"enabled": true,
"reason": "人物表として登録"
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"version": 1,
"root": {
"collection": "demo_people",
"version": 1,
"enabled": true
}
}
本人IDと人物行の対応を取得
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpGET /v2/access/people/demo_people/bindings/11111111-1111-4111-8111-111111111111 HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/jsonhttpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"version": 0,
"binding": null
}
本人IDと人物行の対応を設定
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpPUT /v2/access/people/demo_people/bindings/11111111-1111-4111-8111-111111111111 HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Idempotency-Key: demo-request-20261004-01
Content-Type: application/json
{
"version": 0,
"person_id": "22222222-2222-4222-8222-222222222222",
"enabled": true,
"expires_at": "2026-10-05T00:00:00Z",
"reason": "検証用本人を人物行に対応付け"
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"version": 1,
"binding": {
"person_id": "22222222-2222-4222-8222-222222222222",
"version": 1,
"enabled": true,
"expires_at": "2026-10-05T00:00:00Z"
}
}
人物行の所属者を取得
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpGET /v2/access/people/demo_people/rows/22222222-2222-4222-8222-222222222222/members HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/jsonhttpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"items": [
{
"actor": "11111111-1111-4111-8111-111111111111",
"version": 1,
"enabled": true,
"write": false,
"expires_at": "2026-10-05T00:00:00Z"
}
],
"next_after": null
}
人物行の所属者を設定
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpPUT /v2/access/people/demo_people/rows/22222222-2222-4222-8222-222222222222/members HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Idempotency-Key: demo-request-20261004-01
Content-Type: application/json
{
"reason": "閲覧所属を登録",
"members": [
{
"actor": "11111111-1111-4111-8111-111111111111",
"version": 0,
"enabled": true,
"write": false,
"expires_at": "2026-10-05T00:00:00Z"
}
]
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"items": [
{
"actor": "11111111-1111-4111-8111-111111111111",
"version": 1,
"enabled": true,
"write": false,
"expires_at": "2026-10-05T00:00:00Z"
}
]
}
本人に対応する人物行を取得
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpGET /v2/people/demo_people/me HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/jsonhttpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"resolution": "resolved",
"person_id": "22222222-2222-4222-8222-222222222222",
"binding_version": 1
}
行に対応する本人IDを検索
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpPOST /v2/tables/demo_people/subjects/query HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Content-Type: application/json
{
"rows": [
{
"id": "22222222-2222-4222-8222-222222222222",
"version": 1
}
]
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"person_collection": "demo_people",
"items": [
{
"row_id": "22222222-2222-4222-8222-222222222222",
"row_version": 1,
"person_id": "22222222-2222-4222-8222-222222222222"
}
]
}
資産の保存・参照方針を取得
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpGET /v1/assets/jobs/job/22222222-2222-4222-8222-222222222222/policy HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/jsonhttpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"contract_version": 1,
"modes": [
"managed_original",
"external_reference"
],
"max_managed_bytes": 8388608,
"max_external_bytes": 33554432,
"media_types": [
"application/pdf",
"image/png"
],
"can_write": true
}
資産の一覧取得
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpGET /v1/assets/jobs/job/22222222-2222-4222-8222-222222222222 HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/jsonhttpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"items": [
{
"asset_id": "55555555-5555-4555-8555-555555555555",
"version": 1,
"custody": "external_reference",
"sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"size": 1024,
"media_type": "application/pdf",
"thumbnail": false,
"created_at": "2026-10-04T00:00:00Z"
}
],
"limit": 25,
"offset": 0
}
資産のメタデータを取得
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpGET /v1/assets/jobs/job/22222222-2222-4222-8222-222222222222/55555555-5555-4555-8555-555555555555 HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/jsonhttpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"asset_id": "55555555-5555-4555-8555-555555555555",
"version": 1,
"custody": "external_reference",
"sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"size": 1024,
"media_type": "application/pdf",
"thumbnail": false,
"created_at": "2026-10-04T00:00:00Z"
}
資産の原本を取得
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。 この資産は1px PNGのmanaged_original。バイナリーをbase64で表記。
httpGET /v1/assets/jobs/job/22222222-2222-4222-8222-222222222222/55555555-5555-4555-8555-555555555555/content HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/jsonhttpHTTP/1.1 200
Content-Type: application/octet-stream
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
ETag: "1"
[binary: base64 decode]
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR4nGNgYGD4DwABBAEAX+XDSwAAAABJRU5ErkJggg==
資産の原本を保存
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpPUT /v1/assets/jobs/job/22222222-2222-4222-8222-222222222222/55555555-5555-4555-8555-555555555555/content HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
If-Match: "0"
Idempotency-Key: demo-request-20261004-01
Content-Type: application/octet-stream
X-Asset-Media-Type: image/png
[binary: base64 decode]
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR4nGNgYGD4DwABBAEAX+XDSwAAAABJRU5ErkJggg==httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"asset_id": "55555555-5555-4555-8555-555555555555",
"version": 1,
"custody": "managed_original",
"sha256": "abc58d5127d7cdf313beb9ec8ee839860a9c6bfbc48c8b8eb6a3f7d8bb63de6f",
"size": 70,
"media_type": "image/png",
"thumbnail": true,
"created_at": "2026-10-04T00:00:00Z"
}
資産のサムネイルを取得
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。 この資産は1px PNGのmanaged_original。バイナリーをbase64で表記。
httpGET /v1/assets/jobs/job/22222222-2222-4222-8222-222222222222/55555555-5555-4555-8555-555555555555/thumbnail HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/jsonhttpHTTP/1.1 200
Content-Type: image/png
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
ETag: "1"
[binary: base64 decode]
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR4nGNgYGD4DwABBAEAX+XDSwAAAABJRU5ErkJggg==
資産の外部原本への参照を登録
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpPOST /v1/assets/jobs/job/22222222-2222-4222-8222-222222222222/55555555-5555-4555-8555-555555555555/reference HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
If-Match: "0"
Idempotency-Key: demo-request-20261004-01
Content-Type: application/json
{
"relative_path": "demo/reference.pdf",
"media_type": "application/pdf"
}httpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"asset_id": "55555555-5555-4555-8555-555555555555",
"version": 1,
"custody": "external_reference",
"sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"size": 1024,
"media_type": "application/pdf",
"thumbnail": false,
"created_at": "2026-10-04T00:00:00Z"
}
資産の外部原本の現在状態を照合
合成例。各例は独立した前提状態。実API実行結果ではない。ID・版・期限を実値へ置換し、fingerprintは対応するplan応答をそのまま使う。
httpPOST /v1/assets/jobs/job/22222222-2222-4222-8222-222222222222/55555555-5555-4555-8555-555555555555/check HTTP/1.1
Host: api.example.invalid
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/jsonhttpHTTP/1.1 200
Content-Type: application/json
X-Request-Id: 44444444-4444-4444-8444-444444444444
Cache-Control: no-store
{
"asset_id": "55555555-5555-4555-8555-555555555555",
"version": 1,
"status": "available",
"sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}
バイナリー例はbody_base64/response_base64で実バイトを表します。実行サンプルは送信時にdecodeし、バイナリー応答はbase64で表示します。JSON文字列を画像として送る形式ではありません。