Claudia Partner™DocsAPI・MCP 共通ドキュメント0.7.0-experimental

リファレンス

APIリファレンス

パス・操作ID・機能名で検索できます。各操作を開くと、認証、入力、応答を確認できます。実装に存在する操作でも、利用中の環境での有効化と権限が必要です。

全134操作にOpenAPI定義があります。API仕様の掲載は、全操作のMCP提供済みを意味しません。

OpenAPI JSON · 全API一覧 JSON · 共通データ型

134 / 134 操作を表示

GET/health/live稼働確認 · health.live

OpenAPI定義ありこの操作へのリンク

プロセスの応答を確認

プロセスの応答を確認。認証不要。固定の稼働状態だけを返す。 認証不要の固定状態応答。業務データを返さない。

認証

この定義に認証指定はありません。環境の条件も確認してください。

操作別の認可条件

json{
  "actor_types": [],
  "authentication": "none",
  "mfa": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "resource_checks": []
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object

提供条件: 提供中

制限: この確認用のルートに、専用のレート制限はありません。環境側の制限はあります。

完全な要求・応答と実行例 · 状態の読み方

GET/health/ready稼働確認 · health.ready

OpenAPI定義ありこの操作へのリンク

基盤と依存先の準備状態を確認

基盤と依存先の準備状態を確認。認証不要。固定の稼働状態だけを返す。 認証不要の固定状態応答。業務データを返さない。

認証

この定義に認証指定はありません。環境の条件も確認してください。

操作別の認可条件

json{
  "actor_types": [],
  "authentication": "none",
  "mfa": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "resource_checks": []
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
503依存先または基盤が準備未完了。Problem形式ではない。
application/json · object

提供条件: 提供中

制限: この確認用のルートに、専用のレート制限はありません。環境側の制限はあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v1/ai/sessions/{id}業務・本人情報 · ai_session.get

OpenAPI定義ありこの操作へのリンク

AIセッションを取得

AIセッションを取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 現在権限とMFAでAIセッションを取得する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "registered_operation_authorization",
      "operation_id": "ai_session.get",
      "checks": [
        "current_roles",
        "resource_scope",
        "field_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
id
path
必須
json{
  "type": "string",
  "format": "uuid"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400AIセッションを取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401AIセッションを取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403AIセッションを取得での拒否・失敗: AI_SUSPENDED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404AIセッションを取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409AIセッションを取得での拒否・失敗: LOCK_BUSY。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429AIセッションを取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500AIセッションを取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503AIセッションを取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v1/assets/workspaces/{collection}/{rowId}/{field}画像・添付 · media.1.list

OpenAPI定義ありこの操作へのリンク

行の画像・添付(互換パス)の一覧取得

行の画像・添付(互換パス)の一覧取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2行のasset_ref列へ関連付ける。親行・列・所属・原本保持方針を検査し、任意URLを受け付けない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_media_slot",
      "action": "list",
      "checks": [
        "parent_row",
        "asset_ref_field",
        "membership",
        "field_read_write",
        "current_parent_version",
        "storage_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
rowId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
field
path
必須
json{
  "type": "string"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400行の画像・添付(互換パス)の一覧取得での拒否・失敗: ASSET_INVALID, ASSET_INVALID_IMAGE, BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401行の画像・添付(互換パス)の一覧取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403行の画像・添付(互換パス)の一覧取得での拒否・失敗: ASSET_POLICY_DENIED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404行の画像・添付(互換パス)の一覧取得での拒否・失敗: ASSET_NOT_FOUND, ASSET_NO_THUMBNAIL, NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409行の画像・添付(互換パス)の一覧取得での拒否・失敗: ASSET_POLICY_CHANGED, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413行の画像・添付(互換パス)の一覧取得での拒否・失敗: ASSET_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422行の画像・添付(互換パス)の一覧取得での拒否・失敗: FIELD_NOT_ALLOWED, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429行の画像・添付(互換パス)の一覧取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500行の画像・添付(互換パス)の一覧取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503行の画像・添付(互換パス)の一覧取得での拒否・失敗: ASSET_BUSY, ASSET_DEPENDENCY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
507行の画像・添付(互換パス)の一覧取得での拒否・失敗: ASSET_QUOTA_EXCEEDED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v1/assets/workspaces/{collection}/{rowId}/{field}/policy画像・添付 · media.1.policy

OpenAPI定義ありこの操作へのリンク

行の画像・添付(互換パス)の保存・参照方針を取得

行の画像・添付(互換パス)の保存・参照方針を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2行のasset_ref列へ関連付ける。親行・列・所属・原本保持方針を検査し、任意URLを受け付けない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_media_slot",
      "action": "policy",
      "checks": [
        "parent_row",
        "asset_ref_field",
        "membership",
        "field_read_write",
        "current_parent_version",
        "storage_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
rowId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
field
path
必須
json{
  "type": "string"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · MediaPolicy
400行の画像・添付(互換パス)の保存・参照方針を取得での拒否・失敗: ASSET_INVALID, ASSET_INVALID_IMAGE, BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401行の画像・添付(互換パス)の保存・参照方針を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403行の画像・添付(互換パス)の保存・参照方針を取得での拒否・失敗: ASSET_POLICY_DENIED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404行の画像・添付(互換パス)の保存・参照方針を取得での拒否・失敗: ASSET_NOT_FOUND, ASSET_NO_THUMBNAIL, NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409行の画像・添付(互換パス)の保存・参照方針を取得での拒否・失敗: ASSET_POLICY_CHANGED, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413行の画像・添付(互換パス)の保存・参照方針を取得での拒否・失敗: ASSET_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422行の画像・添付(互換パス)の保存・参照方針を取得での拒否・失敗: FIELD_NOT_ALLOWED, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429行の画像・添付(互換パス)の保存・参照方針を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500行の画像・添付(互換パス)の保存・参照方針を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503行の画像・添付(互換パス)の保存・参照方針を取得での拒否・失敗: ASSET_BUSY, ASSET_DEPENDENCY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
507行の画像・添付(互換パス)の保存・参照方針を取得での拒否・失敗: ASSET_QUOTA_EXCEEDED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

DELETE/v1/assets/workspaces/{collection}/{rowId}/{field}/{assetId}画像・添付 · media.1.delete

OpenAPI定義ありこの操作へのリンク

行の画像・添付(互換パス)の関連付けを削除

行の画像・添付(互換パス)の関連付けを削除。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2行のasset_ref列へ関連付ける。親行・列・所属・原本保持方針を検査し、任意URLを受け付けない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_media_slot",
      "action": "delete",
      "checks": [
        "parent_row",
        "asset_ref_field",
        "membership",
        "field_read_write",
        "current_parent_version",
        "storage_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "header.If-Match",
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
rowId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
field
path
必須
json{
  "type": "string"
}
assetId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
If-Match
header
必須
json{
  "type": "string",
  "pattern": "^\"[0-9]{1,9}\"$"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[a-zA-Z0-9_-]{8,128}$"
}
X-Parent-Version
header
必須
json{
  "type": "integer",
  "minimum": 1,
  "description": "添付先の親行の現在version。表のschema_versionとは別。"
}
X-Schema-Version
header
必須
json{
  "type": "integer",
  "minimum": 1
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · Media
400行の画像・添付(互換パス)の関連付けを削除での拒否・失敗: ASSET_INVALID, ASSET_INVALID_IMAGE, BAD_REQUEST, ETAG_MALFORMED, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401行の画像・添付(互換パス)の関連付けを削除での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403行の画像・添付(互換パス)の関連付けを削除での拒否・失敗: ASSET_POLICY_DENIED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404行の画像・添付(互換パス)の関連付けを削除での拒否・失敗: ASSET_NOT_FOUND, ASSET_NO_THUMBNAIL, NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409行の画像・添付(互換パス)の関連付けを削除での拒否・失敗: ASSET_POLICY_CHANGED, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412行の画像・添付(互換パス)の関連付けを削除での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413行の画像・添付(互換パス)の関連付けを削除での拒否・失敗: ASSET_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422行の画像・添付(互換パス)の関連付けを削除での拒否・失敗: FIELD_NOT_ALLOWED, IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428行の画像・添付(互換パス)の関連付けを削除での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED, PRECONDITION_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429行の画像・添付(互換パス)の関連付けを削除での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500行の画像・添付(互換パス)の関連付けを削除での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503行の画像・添付(互換パス)の関連付けを削除での拒否・失敗: ASSET_BUSY, ASSET_DEPENDENCY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
507行の画像・添付(互換パス)の関連付けを削除での拒否・失敗: ASSET_QUOTA_EXCEEDED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v1/assets/workspaces/{collection}/{rowId}/{field}/{assetId}画像・添付 · media.1.get

OpenAPI定義ありこの操作へのリンク

行の画像・添付(互換パス)のメタデータを取得

行の画像・添付(互換パス)のメタデータを取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2行のasset_ref列へ関連付ける。親行・列・所属・原本保持方針を検査し、任意URLを受け付けない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_media_slot",
      "action": "get",
      "checks": [
        "parent_row",
        "asset_ref_field",
        "membership",
        "field_read_write",
        "current_parent_version",
        "storage_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
rowId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
field
path
必須
json{
  "type": "string"
}
assetId
path
必須
json{
  "type": "string",
  "format": "uuid"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · Media
400行の画像・添付(互換パス)のメタデータを取得での拒否・失敗: ASSET_INVALID, ASSET_INVALID_IMAGE, BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401行の画像・添付(互換パス)のメタデータを取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403行の画像・添付(互換パス)のメタデータを取得での拒否・失敗: ASSET_POLICY_DENIED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404行の画像・添付(互換パス)のメタデータを取得での拒否・失敗: ASSET_NOT_FOUND, ASSET_NO_THUMBNAIL, NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409行の画像・添付(互換パス)のメタデータを取得での拒否・失敗: ASSET_POLICY_CHANGED, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413行の画像・添付(互換パス)のメタデータを取得での拒否・失敗: ASSET_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422行の画像・添付(互換パス)のメタデータを取得での拒否・失敗: FIELD_NOT_ALLOWED, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429行の画像・添付(互換パス)のメタデータを取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500行の画像・添付(互換パス)のメタデータを取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503行の画像・添付(互換パス)のメタデータを取得での拒否・失敗: ASSET_BUSY, ASSET_DEPENDENCY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
507行の画像・添付(互換パス)のメタデータを取得での拒否・失敗: ASSET_QUOTA_EXCEEDED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v1/assets/workspaces/{collection}/{rowId}/{field}/{assetId}/content画像・添付 · media.1.content

OpenAPI定義ありこの操作へのリンク

行の画像・添付(互換パス)の原本を取得

行の画像・添付(互換パス)の原本を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2行のasset_ref列へ関連付ける。親行・列・所属・原本保持方針を検査し、任意URLを受け付けない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_media_slot",
      "action": "content",
      "checks": [
        "parent_row",
        "asset_ref_field",
        "membership",
        "field_read_write",
        "current_parent_version",
        "storage_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
rowId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
field
path
必須
json{
  "type": "string"
}
assetId
path
必須
json{
  "type": "string",
  "format": "uuid"
}

応答

HTTP内容 / データ型
200Verified bytes, no-store; content is attachment, thumbnail image/png
application/octet-stream · string
400行の画像・添付(互換パス)の原本を取得での拒否・失敗: ASSET_INVALID, ASSET_INVALID_IMAGE, BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401行の画像・添付(互換パス)の原本を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403行の画像・添付(互換パス)の原本を取得での拒否・失敗: ASSET_POLICY_DENIED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404行の画像・添付(互換パス)の原本を取得での拒否・失敗: ASSET_NOT_FOUND, ASSET_NO_THUMBNAIL, NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409行の画像・添付(互換パス)の原本を取得での拒否・失敗: ASSET_POLICY_CHANGED, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413行の画像・添付(互換パス)の原本を取得での拒否・失敗: ASSET_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422行の画像・添付(互換パス)の原本を取得での拒否・失敗: FIELD_NOT_ALLOWED, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429行の画像・添付(互換パス)の原本を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500行の画像・添付(互換パス)の原本を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503行の画像・添付(互換パス)の原本を取得での拒否・失敗: ASSET_BUSY, ASSET_DEPENDENCY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
507行の画像・添付(互換パス)の原本を取得での拒否・失敗: ASSET_QUOTA_EXCEEDED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

PUT/v1/assets/workspaces/{collection}/{rowId}/{field}/{assetId}/content画像・添付 · media.1.put

OpenAPI定義ありこの操作へのリンク

行の画像・添付(互換パス)の原本を保存

行の画像・添付(互換パス)の原本を保存。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2行のasset_ref列へ関連付ける。親行・列・所属・原本保持方針を検査し、任意URLを受け付けない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_media_slot",
      "action": "put",
      "checks": [
        "parent_row",
        "asset_ref_field",
        "membership",
        "field_read_write",
        "current_parent_version",
        "storage_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "header.If-Match",
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
rowId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
field
path
必須
json{
  "type": "string"
}
assetId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
If-Match
header
必須
json{
  "type": "string",
  "pattern": "^\"[0-9]{1,9}\"$"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[a-zA-Z0-9_-]{8,128}$"
}
X-Parent-Version
header
必須
json{
  "type": "integer",
  "minimum": 1,
  "description": "添付先の親行の現在version。表のschema_versionとは別。"
}
X-Schema-Version
header
必須
json{
  "type": "integer",
  "minimum": 1
}
X-Asset-Media-Type
header
必須
json{
  "enum": [
    "image/png",
    "image/jpeg",
    "image/webp",
    "application/pdf",
    "text/plain",
    "audio/mpeg",
    "audio/wav",
    "audio/ogg",
    "video/mp4",
    "video/webm"
  ]
}
X-Asset-Name
header
任意
json{
  "type": "string"
}

リクエスト本文

application/octet-stream

json{
  "type": "string",
  "format": "binary",
  "maxLength": 33554432
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · Media
400行の画像・添付(互換パス)の原本を保存での拒否・失敗: ASSET_INVALID, ASSET_INVALID_IMAGE, BAD_REQUEST, ETAG_MALFORMED, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401行の画像・添付(互換パス)の原本を保存での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403行の画像・添付(互換パス)の原本を保存での拒否・失敗: ASSET_POLICY_DENIED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404行の画像・添付(互換パス)の原本を保存での拒否・失敗: ASSET_NOT_FOUND, ASSET_NO_THUMBNAIL, NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409行の画像・添付(互換パス)の原本を保存での拒否・失敗: ASSET_POLICY_CHANGED, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412行の画像・添付(互換パス)の原本を保存での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413行の画像・添付(互換パス)の原本を保存での拒否・失敗: ASSET_TOO_LARGE, PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415行の画像・添付(互換パス)の原本を保存での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422行の画像・添付(互換パス)の原本を保存での拒否・失敗: FIELD_NOT_ALLOWED, IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428行の画像・添付(互換パス)の原本を保存での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED, PRECONDITION_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429行の画像・添付(互換パス)の原本を保存での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500行の画像・添付(互換パス)の原本を保存での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503行の画像・添付(互換パス)の原本を保存での拒否・失敗: ASSET_BUSY, ASSET_DEPENDENCY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
507行の画像・添付(互換パス)の原本を保存での拒否・失敗: ASSET_QUOTA_EXCEEDED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v1/assets/workspaces/{collection}/{rowId}/{field}/{assetId}/reference画像・添付 · media.1.reference

OpenAPI定義ありこの操作へのリンク

行の画像・添付(互換パス)の外部原本への参照を登録

行の画像・添付(互換パス)の外部原本への参照を登録。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2行のasset_ref列へ関連付ける。親行・列・所属・原本保持方針を検査し、任意URLを受け付けない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_media_slot",
      "action": "reference",
      "checks": [
        "parent_row",
        "asset_ref_field",
        "membership",
        "field_read_write",
        "current_parent_version",
        "storage_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "header.If-Match",
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
rowId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
field
path
必須
json{
  "type": "string"
}
assetId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
If-Match
header
必須
json{
  "type": "string",
  "pattern": "^\"[0-9]{1,9}\"$"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[a-zA-Z0-9_-]{8,128}$"
}
X-Parent-Version
header
必須
json{
  "type": "integer",
  "minimum": 1,
  "description": "添付先の親行の現在version。表のschema_versionとは別。"
}
X-Schema-Version
header
必須
json{
  "type": "integer",
  "minimum": 1
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/MediaReference"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · Media
400行の画像・添付(互換パス)の外部原本への参照を登録での拒否・失敗: ASSET_INVALID, ASSET_INVALID_IMAGE, BAD_REQUEST, ETAG_MALFORMED, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401行の画像・添付(互換パス)の外部原本への参照を登録での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403行の画像・添付(互換パス)の外部原本への参照を登録での拒否・失敗: ASSET_POLICY_DENIED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404行の画像・添付(互換パス)の外部原本への参照を登録での拒否・失敗: ASSET_NOT_FOUND, ASSET_NO_THUMBNAIL, NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409行の画像・添付(互換パス)の外部原本への参照を登録での拒否・失敗: ASSET_POLICY_CHANGED, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412行の画像・添付(互換パス)の外部原本への参照を登録での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413行の画像・添付(互換パス)の外部原本への参照を登録での拒否・失敗: ASSET_TOO_LARGE, PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415行の画像・添付(互換パス)の外部原本への参照を登録での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422行の画像・添付(互換パス)の外部原本への参照を登録での拒否・失敗: FIELD_NOT_ALLOWED, IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428行の画像・添付(互換パス)の外部原本への参照を登録での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED, PRECONDITION_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429行の画像・添付(互換パス)の外部原本への参照を登録での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500行の画像・添付(互換パス)の外部原本への参照を登録での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503行の画像・添付(互換パス)の外部原本への参照を登録での拒否・失敗: ASSET_BUSY, ASSET_DEPENDENCY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
507行の画像・添付(互換パス)の外部原本への参照を登録での拒否・失敗: ASSET_QUOTA_EXCEEDED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v1/assets/workspaces/{collection}/{rowId}/{field}/{assetId}/thumbnail画像・添付 · media.1.thumbnail

OpenAPI定義ありこの操作へのリンク

行の画像・添付(互換パス)のサムネイルを取得

行の画像・添付(互換パス)のサムネイルを取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2行のasset_ref列へ関連付ける。親行・列・所属・原本保持方針を検査し、任意URLを受け付けない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_media_slot",
      "action": "thumbnail",
      "checks": [
        "parent_row",
        "asset_ref_field",
        "membership",
        "field_read_write",
        "current_parent_version",
        "storage_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
rowId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
field
path
必須
json{
  "type": "string"
}
assetId
path
必須
json{
  "type": "string",
  "format": "uuid"
}

応答

HTTP内容 / データ型
200Verified bytes, no-store; content is attachment, thumbnail image/png
image/png · string
400行の画像・添付(互換パス)のサムネイルを取得での拒否・失敗: ASSET_INVALID, ASSET_INVALID_IMAGE, BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401行の画像・添付(互換パス)のサムネイルを取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403行の画像・添付(互換パス)のサムネイルを取得での拒否・失敗: ASSET_POLICY_DENIED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404行の画像・添付(互換パス)のサムネイルを取得での拒否・失敗: ASSET_NOT_FOUND, ASSET_NO_THUMBNAIL, NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409行の画像・添付(互換パス)のサムネイルを取得での拒否・失敗: ASSET_POLICY_CHANGED, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413行の画像・添付(互換パス)のサムネイルを取得での拒否・失敗: ASSET_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422行の画像・添付(互換パス)のサムネイルを取得での拒否・失敗: FIELD_NOT_ALLOWED, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429行の画像・添付(互換パス)のサムネイルを取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500行の画像・添付(互換パス)のサムネイルを取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503行の画像・添付(互換パス)のサムネイルを取得での拒否・失敗: ASSET_BUSY, ASSET_DEPENDENCY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
507行の画像・添付(互換パス)のサムネイルを取得での拒否・失敗: ASSET_QUOTA_EXCEEDED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v1/assets/{namespace}/{resourceType}/{resourceId}資産 · asset.list

OpenAPI定義ありこの操作へのリンク

資産の一覧取得

資産の一覧取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 ホストが固定した親資源の読取操作と資産方針で認可する。原本と外部参照を区別し、更新は現在資産版を照合する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "bound_parent_operation",
  "mfa": "binding_dependent",
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "binding_rules": [
    {
      "operation_id": "job.get",
      "mfa": false,
      "maxAuthenticationAgeSeconds": null,
      "requiredCapabilities": [],
      "countsAsSessionActivity": false
    },
    {
      "operation_id": "invoice.get",
      "mfa": false,
      "maxAuthenticationAgeSeconds": null,
      "requiredCapabilities": [],
      "countsAsSessionActivity": false
    },
    {
      "operation_id": "contact.erasure_status",
      "mfa": true,
      "maxAuthenticationAgeSeconds": null,
      "requiredCapabilities": [],
      "countsAsSessionActivity": false
    }
  ],
  "resource_checks": [
    {
      "kind": "parent_resource",
      "action": "list",
      "checks": [
        "parent_read_authorization",
        "asset_policy",
        "can_write_for_upload_or_reference",
        "custody_policy"
      ]
    }
  ],
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "external_human_mfa": true
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
namespace
path
必須
json{
  "type": "string"
}
resourceType
path
必須
json{
  "type": "string"
}
resourceId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
limit
query
任意
json{
  "type": "integer",
  "minimum": 1,
  "maximum": 50,
  "default": 25
}
offset
query
任意
json{
  "type": "integer",
  "minimum": 0,
  "maximum": 100000,
  "default": 0
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400資産の一覧取得での拒否・失敗: ASSET_INVALID, ASSET_INVALID_IMAGE, BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
401資産の一覧取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
403資産の一覧取得での拒否・失敗: ASSET_FORBIDDEN, ASSET_POLICY_DENIED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
404資産の一覧取得での拒否・失敗: ASSET_NOT_FOUND, ASSET_NO_THUMBNAIL。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
409資産の一覧取得での拒否・失敗: ASSET_IDEMPOTENCY_MISMATCH, ASSET_POLICY_CHANGED, ASSET_VERSION_CONFLICT, LOCK_BUSY。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
413資産の一覧取得での拒否・失敗: ASSET_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
428資産の一覧取得での拒否・失敗: ASSET_PRECONDITION_REQUIRED, ASSET_REASON_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
429資産の一覧取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
500資産の一覧取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
503資産の一覧取得での拒否・失敗: ASSET_BUSY, ASSET_CAPACITY, ASSET_DEPENDENCY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
507資産の一覧取得での拒否・失敗: ASSET_QUOTA_EXCEEDED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem

提供条件: 試験提供(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v1/assets/{namespace}/{resourceType}/{resourceId}/policy資産 · asset.policy

OpenAPI定義ありこの操作へのリンク

資産の保存・参照方針を取得

資産の保存・参照方針を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 ホストが固定した親資源の読取操作と資産方針で認可する。原本と外部参照を区別し、更新は現在資産版を照合する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "bound_parent_operation",
  "mfa": "binding_dependent",
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "binding_rules": [
    {
      "operation_id": "job.get",
      "mfa": false,
      "maxAuthenticationAgeSeconds": null,
      "requiredCapabilities": [],
      "countsAsSessionActivity": false
    },
    {
      "operation_id": "invoice.get",
      "mfa": false,
      "maxAuthenticationAgeSeconds": null,
      "requiredCapabilities": [],
      "countsAsSessionActivity": false
    },
    {
      "operation_id": "contact.erasure_status",
      "mfa": true,
      "maxAuthenticationAgeSeconds": null,
      "requiredCapabilities": [],
      "countsAsSessionActivity": false
    }
  ],
  "resource_checks": [
    {
      "kind": "parent_resource",
      "action": "policy",
      "checks": [
        "parent_read_authorization",
        "asset_policy",
        "can_write_for_upload_or_reference",
        "custody_policy"
      ]
    }
  ],
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "external_human_mfa": true
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
namespace
path
必須
json{
  "type": "string"
}
resourceType
path
必須
json{
  "type": "string"
}
resourceId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
version
query
任意
json{
  "type": "integer",
  "minimum": 1
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · AssetPolicy
400資産の保存・参照方針を取得での拒否・失敗: ASSET_INVALID, ASSET_INVALID_IMAGE, BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
401資産の保存・参照方針を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
403資産の保存・参照方針を取得での拒否・失敗: ASSET_FORBIDDEN, ASSET_POLICY_DENIED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
404資産の保存・参照方針を取得での拒否・失敗: ASSET_NOT_FOUND, ASSET_NO_THUMBNAIL。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
409資産の保存・参照方針を取得での拒否・失敗: ASSET_IDEMPOTENCY_MISMATCH, ASSET_POLICY_CHANGED, ASSET_VERSION_CONFLICT, LOCK_BUSY。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
413資産の保存・参照方針を取得での拒否・失敗: ASSET_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
428資産の保存・参照方針を取得での拒否・失敗: ASSET_PRECONDITION_REQUIRED, ASSET_REASON_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
429資産の保存・参照方針を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
500資産の保存・参照方針を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
503資産の保存・参照方針を取得での拒否・失敗: ASSET_BUSY, ASSET_CAPACITY, ASSET_DEPENDENCY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
507資産の保存・参照方針を取得での拒否・失敗: ASSET_QUOTA_EXCEEDED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem

提供条件: 試験提供(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v1/assets/{namespace}/{resourceType}/{resourceId}/{assetId}資産 · asset.get

OpenAPI定義ありこの操作へのリンク

資産のメタデータを取得

資産のメタデータを取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 ホストが固定した親資源の読取操作と資産方針で認可する。原本と外部参照を区別し、更新は現在資産版を照合する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "bound_parent_operation",
  "mfa": "binding_dependent",
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "binding_rules": [
    {
      "operation_id": "job.get",
      "mfa": false,
      "maxAuthenticationAgeSeconds": null,
      "requiredCapabilities": [],
      "countsAsSessionActivity": false
    },
    {
      "operation_id": "invoice.get",
      "mfa": false,
      "maxAuthenticationAgeSeconds": null,
      "requiredCapabilities": [],
      "countsAsSessionActivity": false
    },
    {
      "operation_id": "contact.erasure_status",
      "mfa": true,
      "maxAuthenticationAgeSeconds": null,
      "requiredCapabilities": [],
      "countsAsSessionActivity": false
    }
  ],
  "resource_checks": [
    {
      "kind": "parent_resource",
      "action": "get",
      "checks": [
        "parent_read_authorization",
        "asset_policy",
        "can_write_for_upload_or_reference",
        "custody_policy"
      ]
    }
  ],
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "external_human_mfa": true
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
namespace
path
必須
json{
  "type": "string"
}
resourceType
path
必須
json{
  "type": "string"
}
resourceId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
assetId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
version
query
任意
json{
  "type": "integer",
  "minimum": 1
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · Asset
400資産のメタデータを取得での拒否・失敗: ASSET_INVALID, ASSET_INVALID_IMAGE, BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
401資産のメタデータを取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
403資産のメタデータを取得での拒否・失敗: ASSET_FORBIDDEN, ASSET_POLICY_DENIED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
404資産のメタデータを取得での拒否・失敗: ASSET_NOT_FOUND, ASSET_NO_THUMBNAIL。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
409資産のメタデータを取得での拒否・失敗: ASSET_IDEMPOTENCY_MISMATCH, ASSET_POLICY_CHANGED, ASSET_VERSION_CONFLICT, LOCK_BUSY。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
413資産のメタデータを取得での拒否・失敗: ASSET_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
428資産のメタデータを取得での拒否・失敗: ASSET_PRECONDITION_REQUIRED, ASSET_REASON_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
429資産のメタデータを取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
500資産のメタデータを取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
503資産のメタデータを取得での拒否・失敗: ASSET_BUSY, ASSET_CAPACITY, ASSET_DEPENDENCY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
507資産のメタデータを取得での拒否・失敗: ASSET_QUOTA_EXCEEDED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem

提供条件: 試験提供(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v1/assets/{namespace}/{resourceType}/{resourceId}/{assetId}/check資産 · asset.check

OpenAPI定義ありこの操作へのリンク

資産の外部原本の現在状態を照合

資産の外部原本の現在状態を照合。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 ホストが固定した親資源の読取操作と資産方針で認可する。原本と外部参照を区別し、更新は現在資産版を照合する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "bound_parent_operation",
  "mfa": "binding_dependent",
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "binding_rules": [
    {
      "operation_id": "job.get",
      "mfa": false,
      "maxAuthenticationAgeSeconds": null,
      "requiredCapabilities": [],
      "countsAsSessionActivity": false
    },
    {
      "operation_id": "invoice.get",
      "mfa": false,
      "maxAuthenticationAgeSeconds": null,
      "requiredCapabilities": [],
      "countsAsSessionActivity": false
    },
    {
      "operation_id": "contact.erasure_status",
      "mfa": true,
      "maxAuthenticationAgeSeconds": null,
      "requiredCapabilities": [],
      "countsAsSessionActivity": false
    }
  ],
  "resource_checks": [
    {
      "kind": "parent_resource",
      "action": "check",
      "checks": [
        "parent_read_authorization",
        "asset_policy",
        "can_write_for_upload_or_reference",
        "custody_policy"
      ]
    }
  ],
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "external_human_mfa": true
}

再送と結果確認

json{
  "effect": "verification",
  "mode": "none",
  "safe_to_repeat": false,
  "result_check": "GET /v1/assets/{namespace}/{resourceType}/{resourceId}/{assetId} で状態を確認。専用の再送識別子・応答再生保証なし。"
}

パラメーター

名前 / 場所必須型・条件
namespace
path
必須
json{
  "type": "string"
}
resourceType
path
必須
json{
  "type": "string"
}
resourceId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
assetId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
version
query
任意
json{
  "type": "integer",
  "minimum": 1
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400資産の外部原本の現在状態を照合での拒否・失敗: ASSET_INVALID, ASSET_INVALID_IMAGE, BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
401資産の外部原本の現在状態を照合での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
403資産の外部原本の現在状態を照合での拒否・失敗: ASSET_FORBIDDEN, ASSET_POLICY_DENIED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
404資産の外部原本の現在状態を照合での拒否・失敗: ASSET_NOT_FOUND, ASSET_NO_THUMBNAIL。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
409資産の外部原本の現在状態を照合での拒否・失敗: ASSET_IDEMPOTENCY_MISMATCH, ASSET_POLICY_CHANGED, ASSET_VERSION_CONFLICT, LOCK_BUSY。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
413資産の外部原本の現在状態を照合での拒否・失敗: ASSET_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
428資産の外部原本の現在状態を照合での拒否・失敗: ASSET_PRECONDITION_REQUIRED, ASSET_REASON_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
429資産の外部原本の現在状態を照合での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
500資産の外部原本の現在状態を照合での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
503資産の外部原本の現在状態を照合での拒否・失敗: ASSET_BUSY, ASSET_CAPACITY, ASSET_DEPENDENCY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
507資産の外部原本の現在状態を照合での拒否・失敗: ASSET_QUOTA_EXCEEDED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem

提供条件: 試験提供(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v1/assets/{namespace}/{resourceType}/{resourceId}/{assetId}/content資産 · asset.content

OpenAPI定義ありこの操作へのリンク

資産の原本を取得

資産の原本を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 ホストが固定した親資源の読取操作と資産方針で認可する。原本と外部参照を区別し、更新は現在資産版を照合する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "bound_parent_operation",
  "mfa": "binding_dependent",
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "binding_rules": [
    {
      "operation_id": "job.get",
      "mfa": false,
      "maxAuthenticationAgeSeconds": null,
      "requiredCapabilities": [],
      "countsAsSessionActivity": false
    },
    {
      "operation_id": "invoice.get",
      "mfa": false,
      "maxAuthenticationAgeSeconds": null,
      "requiredCapabilities": [],
      "countsAsSessionActivity": false
    },
    {
      "operation_id": "contact.erasure_status",
      "mfa": true,
      "maxAuthenticationAgeSeconds": null,
      "requiredCapabilities": [],
      "countsAsSessionActivity": false
    }
  ],
  "resource_checks": [
    {
      "kind": "parent_resource",
      "action": "content",
      "checks": [
        "parent_read_authorization",
        "asset_policy",
        "can_write_for_upload_or_reference",
        "custody_policy"
      ]
    }
  ],
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "external_human_mfa": true
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
namespace
path
必須
json{
  "type": "string"
}
resourceType
path
必須
json{
  "type": "string"
}
resourceId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
assetId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
version
query
任意
json{
  "type": "integer",
  "minimum": 1
}

応答

HTTP内容 / データ型
200Verified original/derived bytes; MIME is policy-approved. Header ETag identifies saved asset version.
application/octet-stream · string
400資産の原本を取得での拒否・失敗: ASSET_INVALID, ASSET_INVALID_IMAGE, BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
401資産の原本を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
403資産の原本を取得での拒否・失敗: ASSET_FORBIDDEN, ASSET_POLICY_DENIED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
404資産の原本を取得での拒否・失敗: ASSET_NOT_FOUND, ASSET_NO_THUMBNAIL。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
409資産の原本を取得での拒否・失敗: ASSET_IDEMPOTENCY_MISMATCH, ASSET_POLICY_CHANGED, ASSET_VERSION_CONFLICT, LOCK_BUSY。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
413資産の原本を取得での拒否・失敗: ASSET_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
428資産の原本を取得での拒否・失敗: ASSET_PRECONDITION_REQUIRED, ASSET_REASON_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
429資産の原本を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
500資産の原本を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
503資産の原本を取得での拒否・失敗: ASSET_BUSY, ASSET_CAPACITY, ASSET_DEPENDENCY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
507資産の原本を取得での拒否・失敗: ASSET_QUOTA_EXCEEDED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem

提供条件: 試験提供(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

PUT/v1/assets/{namespace}/{resourceType}/{resourceId}/{assetId}/content資産 · asset.upload

OpenAPI定義ありこの操作へのリンク

資産の原本を保存

資産の原本を保存。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 ホストが固定した親資源の読取操作と資産方針で認可する。原本と外部参照を区別し、更新は現在資産版を照合する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "bound_parent_operation",
  "mfa": "binding_dependent",
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "binding_rules": [
    {
      "operation_id": "job.get",
      "mfa": false,
      "maxAuthenticationAgeSeconds": null,
      "requiredCapabilities": [],
      "countsAsSessionActivity": false
    },
    {
      "operation_id": "invoice.get",
      "mfa": false,
      "maxAuthenticationAgeSeconds": null,
      "requiredCapabilities": [],
      "countsAsSessionActivity": false
    },
    {
      "operation_id": "contact.erasure_status",
      "mfa": true,
      "maxAuthenticationAgeSeconds": null,
      "requiredCapabilities": [],
      "countsAsSessionActivity": false
    }
  ],
  "resource_checks": [
    {
      "kind": "parent_resource",
      "action": "upload",
      "checks": [
        "parent_read_authorization",
        "asset_policy",
        "can_write_for_upload_or_reference",
        "custody_policy"
      ]
    }
  ],
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "external_human_mfa": true
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "header.If-Match",
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
namespace
path
必須
json{
  "type": "string"
}
resourceType
path
必須
json{
  "type": "string"
}
resourceId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
assetId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
If-Match
header
必須
json{
  "type": "string",
  "pattern": "^\"[0-9]{1,9}\"$"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "minLength": 8,
  "maxLength": 128
}
X-Asset-Reason
header
任意
json{
  "type": "string"
}
URI encoded UTF-8 reason; required for custody mode changes.
X-Asset-Media-Type
header
任意
json{
  "type": "string"
}

リクエスト本文

application/octet-stream

json{
  "type": "string",
  "format": "binary",
  "maxLength": 8388608
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · Asset
400資産の原本を保存での拒否・失敗: ASSET_INVALID, ASSET_INVALID_IMAGE, BAD_REQUEST, ETAG_MALFORMED, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
401資産の原本を保存での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
403資産の原本を保存での拒否・失敗: ASSET_FORBIDDEN, ASSET_POLICY_DENIED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
404資産の原本を保存での拒否・失敗: ASSET_NOT_FOUND, ASSET_NO_THUMBNAIL。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
409資産の原本を保存での拒否・失敗: ASSET_IDEMPOTENCY_MISMATCH, ASSET_POLICY_CHANGED, ASSET_VERSION_CONFLICT, LOCK_BUSY。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
412資産の原本を保存での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
413資産の原本を保存での拒否・失敗: ASSET_TOO_LARGE, PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
415資産の原本を保存での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
422資産の原本を保存での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
428資産の原本を保存での拒否・失敗: ASSET_PRECONDITION_REQUIRED, ASSET_REASON_REQUIRED, IDEMPOTENCY_KEY_REQUIRED, PRECONDITION_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
429資産の原本を保存での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
500資産の原本を保存での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
503資産の原本を保存での拒否・失敗: ASSET_BUSY, ASSET_CAPACITY, ASSET_DEPENDENCY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
507資産の原本を保存での拒否・失敗: ASSET_QUOTA_EXCEEDED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem

提供条件: 試験提供(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v1/assets/{namespace}/{resourceType}/{resourceId}/{assetId}/reference資産 · asset.reference

OpenAPI定義ありこの操作へのリンク

資産の外部原本への参照を登録

資産の外部原本への参照を登録。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 ホストが固定した親資源の読取操作と資産方針で認可する。原本と外部参照を区別し、更新は現在資産版を照合する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "bound_parent_operation",
  "mfa": "binding_dependent",
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "binding_rules": [
    {
      "operation_id": "job.get",
      "mfa": false,
      "maxAuthenticationAgeSeconds": null,
      "requiredCapabilities": [],
      "countsAsSessionActivity": false
    },
    {
      "operation_id": "invoice.get",
      "mfa": false,
      "maxAuthenticationAgeSeconds": null,
      "requiredCapabilities": [],
      "countsAsSessionActivity": false
    },
    {
      "operation_id": "contact.erasure_status",
      "mfa": true,
      "maxAuthenticationAgeSeconds": null,
      "requiredCapabilities": [],
      "countsAsSessionActivity": false
    }
  ],
  "resource_checks": [
    {
      "kind": "parent_resource",
      "action": "reference",
      "checks": [
        "parent_read_authorization",
        "asset_policy",
        "can_write_for_upload_or_reference",
        "custody_policy"
      ]
    }
  ],
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "external_human_mfa": true
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "header.If-Match",
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
namespace
path
必須
json{
  "type": "string"
}
resourceType
path
必須
json{
  "type": "string"
}
resourceId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
assetId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
If-Match
header
必須
json{
  "type": "string",
  "pattern": "^\"[0-9]{1,9}\"$"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "minLength": 8,
  "maxLength": 128
}
X-Asset-Reason
header
任意
json{
  "type": "string"
}
URI encoded UTF-8 reason; required for custody mode changes.

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/AssetReference"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · Asset
400資産の外部原本への参照を登録での拒否・失敗: ASSET_INVALID, ASSET_INVALID_IMAGE, BAD_REQUEST, ETAG_MALFORMED, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
401資産の外部原本への参照を登録での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
403資産の外部原本への参照を登録での拒否・失敗: ASSET_FORBIDDEN, ASSET_POLICY_DENIED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
404資産の外部原本への参照を登録での拒否・失敗: ASSET_NOT_FOUND, ASSET_NO_THUMBNAIL。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
409資産の外部原本への参照を登録での拒否・失敗: ASSET_IDEMPOTENCY_MISMATCH, ASSET_POLICY_CHANGED, ASSET_VERSION_CONFLICT, LOCK_BUSY。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
412資産の外部原本への参照を登録での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
413資産の外部原本への参照を登録での拒否・失敗: ASSET_TOO_LARGE, PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
415資産の外部原本への参照を登録での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
422資産の外部原本への参照を登録での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
428資産の外部原本への参照を登録での拒否・失敗: ASSET_PRECONDITION_REQUIRED, ASSET_REASON_REQUIRED, IDEMPOTENCY_KEY_REQUIRED, PRECONDITION_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
429資産の外部原本への参照を登録での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
500資産の外部原本への参照を登録での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
503資産の外部原本への参照を登録での拒否・失敗: ASSET_BUSY, ASSET_CAPACITY, ASSET_DEPENDENCY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
507資産の外部原本への参照を登録での拒否・失敗: ASSET_QUOTA_EXCEEDED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem

提供条件: 試験提供(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v1/assets/{namespace}/{resourceType}/{resourceId}/{assetId}/thumbnail資産 · asset.thumbnail

OpenAPI定義ありこの操作へのリンク

資産のサムネイルを取得

資産のサムネイルを取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 ホストが固定した親資源の読取操作と資産方針で認可する。原本と外部参照を区別し、更新は現在資産版を照合する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "bound_parent_operation",
  "mfa": "binding_dependent",
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "binding_rules": [
    {
      "operation_id": "job.get",
      "mfa": false,
      "maxAuthenticationAgeSeconds": null,
      "requiredCapabilities": [],
      "countsAsSessionActivity": false
    },
    {
      "operation_id": "invoice.get",
      "mfa": false,
      "maxAuthenticationAgeSeconds": null,
      "requiredCapabilities": [],
      "countsAsSessionActivity": false
    },
    {
      "operation_id": "contact.erasure_status",
      "mfa": true,
      "maxAuthenticationAgeSeconds": null,
      "requiredCapabilities": [],
      "countsAsSessionActivity": false
    }
  ],
  "resource_checks": [
    {
      "kind": "parent_resource",
      "action": "thumbnail",
      "checks": [
        "parent_read_authorization",
        "asset_policy",
        "can_write_for_upload_or_reference",
        "custody_policy"
      ]
    }
  ],
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "external_human_mfa": true
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
namespace
path
必須
json{
  "type": "string"
}
resourceType
path
必須
json{
  "type": "string"
}
resourceId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
assetId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
version
query
任意
json{
  "type": "integer",
  "minimum": 1
}

応答

HTTP内容 / データ型
200Verified original/derived bytes; MIME is policy-approved. Header ETag identifies saved asset version.
image/png · string
400資産のサムネイルを取得での拒否・失敗: ASSET_INVALID, ASSET_INVALID_IMAGE, BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
401資産のサムネイルを取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
403資産のサムネイルを取得での拒否・失敗: ASSET_FORBIDDEN, ASSET_POLICY_DENIED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
404資産のサムネイルを取得での拒否・失敗: ASSET_NOT_FOUND, ASSET_NO_THUMBNAIL。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
409資産のサムネイルを取得での拒否・失敗: ASSET_IDEMPOTENCY_MISMATCH, ASSET_POLICY_CHANGED, ASSET_VERSION_CONFLICT, LOCK_BUSY。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
413資産のサムネイルを取得での拒否・失敗: ASSET_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
428資産のサムネイルを取得での拒否・失敗: ASSET_PRECONDITION_REQUIRED, ASSET_REASON_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
429資産のサムネイルを取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
500資産のサムネイルを取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
503資産のサムネイルを取得での拒否・失敗: ASSET_BUSY, ASSET_CAPACITY, ASSET_DEPENDENCY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem
507資産のサムネイルを取得での拒否・失敗: ASSET_QUOTA_EXCEEDED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
application/json · AssetProblem

提供条件: 試験提供(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v1/contacts/{id}/erasure業務・本人情報 · contact.erasure_status

OpenAPI定義ありこの操作へのリンク

連絡先の消去状況を取得

連絡先の消去状況を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 現在権限で消去状態を取得する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "registered_operation_authorization",
      "operation_id": "contact.erasure_status",
      "checks": [
        "current_roles",
        "resource_scope",
        "field_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
id
path
必須
json{
  "type": "string",
  "format": "uuid"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400連絡先の消去状況を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401連絡先の消去状況を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403連絡先の消去状況を取得での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404連絡先の消去状況を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409連絡先の消去状況を取得での拒否・失敗: LOCK_BUSY。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429連絡先の消去状況を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500連絡先の消去状況を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503連絡先の消去状況を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v1/invoices/{id}業務・本人情報 · invoice.get

OpenAPI定義ありこの操作へのリンク

請求書を取得

請求書を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 現在権限で請求書を取得する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "registered_operation_authorization",
      "operation_id": "invoice.get",
      "checks": [
        "current_roles",
        "resource_scope",
        "field_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
id
path
必須
json{
  "type": "string",
  "format": "uuid"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400請求書を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401請求書を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403請求書を取得での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404請求書を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409請求書を取得での拒否・失敗: LOCK_BUSY。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429請求書を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500請求書を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503請求書を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v1/jobs業務・本人情報 · job.list

OpenAPI定義ありこの操作へのリンク

ケースを一覧取得

ケースを一覧取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 現在のケース権限と業務状態を検査する。status_codeは表のdraft/committedとは別。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "registered_operation_authorization",
      "operation_id": "job.list",
      "checks": [
        "current_roles",
        "resource_scope",
        "field_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
id
query
任意
json{
  "type": "string",
  "format": "uuid"
}
job_number
query
任意
json{
  "type": "string",
  "minLength": 1,
  "maxLength": 128
}
customer_id
query
任意
json{
  "type": "string",
  "format": "uuid"
}
department_id
query
任意
json{
  "type": "string",
  "format": "uuid"
}
entry_route
query
任意
json{
  "type": "string",
  "minLength": 1,
  "maxLength": 256
}
status_code
query
任意
json{
  "type": "string",
  "pattern": "^[a-z][a-z0-9_]*$"
}
limit
query
任意
json{
  "type": "string",
  "pattern": "^(?:[1-9]|[1-9][0-9]|1[0-9]{2})$"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400ケースを一覧取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401ケースを一覧取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403ケースを一覧取得での拒否・失敗: AI_MUST_USE_PROPOSALS, AI_SUSPENDED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404ケースを一覧取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409ケースを一覧取得での拒否・失敗: AUTHORITY_CONFLICT, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422ケースを一覧取得での拒否・失敗: FIELD_NOT_ALLOWED, FIELD_REQUIRED, FIELD_UNKNOWN, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429ケースを一覧取得での拒否・失敗: AI_RATE_LIMITED, RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500ケースを一覧取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503ケースを一覧取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v1/jobs業務・本人情報 · job.create

OpenAPI定義ありこの操作へのリンク

ケースを新規作成

ケースを新規作成。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 現在のケース権限と業務状態を検査する。status_codeは表のdraft/committedとは別。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "registered_operation_authorization",
      "operation_id": "job.create",
      "checks": [
        "current_roles",
        "resource_scope",
        "field_policy",
        "write_preconditions"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
Idempotency-Key
header
必須
json{
  "type": "string"
}

リクエスト本文

application/json

json{
  "type": "object",
  "properties": {
    "job_number": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    },
    "customer_id": {
      "anyOf": [
        {
          "type": "string",
          "format": "uuid"
        },
        {
          "type": "null"
        }
      ]
    },
    "department_id": {
      "anyOf": [
        {
          "type": "string",
          "format": "uuid"
        },
        {
          "type": "null"
        }
      ]
    },
    "sales_rep_id": {
      "anyOf": [
        {
          "type": "string",
          "format": "uuid"
        },
        {
          "type": "null"
        }
      ]
    },
    "production_rep_id": {
      "anyOf": [
        {
          "type": "string",
          "format": "uuid"
        },
        {
          "type": "null"
        }
      ]
    },
    "entry_route": {
      "type": "string",
      "minLength": 1
    },
    "status_code": {
      "type": "string",
      "pattern": "^[a-z][a-z0-9_]*$"
    },
    "site_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "media_note": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "notes": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "job_number",
    "entry_route",
    "status_code"
  ],
  "additionalProperties": false
}

応答

HTTP内容 / データ型
201Success; fields are projected using current authorization.
application/json · object
400ケースを新規作成での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401ケースを新規作成での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403ケースを新規作成での拒否・失敗: AI_MUST_USE_PROPOSALS, AI_SUSPENDED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404ケースを新規作成での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409ケースを新規作成での拒否・失敗: AUTHORITY_CONFLICT, DUPLICATE, IDEMPOTENCY_IN_PROGRESS, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412ケースを新規作成での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413ケースを新規作成での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415ケースを新規作成での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422ケースを新規作成での拒否・失敗: FIELD_NOT_ALLOWED, FIELD_REQUIRED, FIELD_UNKNOWN, IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428ケースを新規作成での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429ケースを新規作成での拒否・失敗: AI_RATE_LIMITED, RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500ケースを新規作成での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503ケースを新規作成での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v1/jobs/count業務・本人情報 · job.count

OpenAPI定義ありこの操作へのリンク

ケース数を取得

ケース数を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 現在のケース権限と業務状態を検査する。status_codeは表のdraft/committedとは別。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "registered_operation_authorization",
      "operation_id": "job.count",
      "checks": [
        "current_roles",
        "resource_scope",
        "field_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
id
query
任意
json{
  "type": "string",
  "format": "uuid"
}
job_number
query
任意
json{
  "type": "string",
  "minLength": 1,
  "maxLength": 128
}
customer_id
query
任意
json{
  "type": "string",
  "format": "uuid"
}
department_id
query
任意
json{
  "type": "string",
  "format": "uuid"
}
entry_route
query
任意
json{
  "type": "string",
  "minLength": 1,
  "maxLength": 256
}
status_code
query
任意
json{
  "type": "string",
  "pattern": "^[a-z][a-z0-9_]*$"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400ケース数を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401ケース数を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403ケース数を取得での拒否・失敗: AI_MUST_USE_PROPOSALS, AI_SUSPENDED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404ケース数を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409ケース数を取得での拒否・失敗: AUTHORITY_CONFLICT, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422ケース数を取得での拒否・失敗: FIELD_NOT_ALLOWED, FIELD_REQUIRED, FIELD_UNKNOWN, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429ケース数を取得での拒否・失敗: AI_RATE_LIMITED, RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500ケース数を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503ケース数を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v1/jobs/export業務・本人情報 · job.export

OpenAPI定義ありこの操作へのリンク

ケースをエクスポート

ケースをエクスポート。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 現在のケース権限と業務状態を検査する。status_codeは表のdraft/committedとは別。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "registered_operation_authorization",
      "operation_id": "job.export",
      "checks": [
        "current_roles",
        "resource_scope",
        "field_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
id
query
任意
json{
  "type": "string",
  "format": "uuid"
}
job_number
query
任意
json{
  "type": "string",
  "minLength": 1,
  "maxLength": 128
}
customer_id
query
任意
json{
  "type": "string",
  "format": "uuid"
}
department_id
query
任意
json{
  "type": "string",
  "format": "uuid"
}
entry_route
query
任意
json{
  "type": "string",
  "minLength": 1,
  "maxLength": 256
}
status_code
query
任意
json{
  "type": "string",
  "pattern": "^[a-z][a-z0-9_]*$"
}
limit
query
任意
json{
  "type": "string",
  "pattern": "^(?:[1-9]|[1-9][0-9]|1[0-9]{2})$"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400ケースをエクスポートでの拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401ケースをエクスポートでの拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403ケースをエクスポートでの拒否・失敗: AI_MUST_USE_PROPOSALS, AI_SUSPENDED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404ケースをエクスポートでの拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409ケースをエクスポートでの拒否・失敗: AUTHORITY_CONFLICT, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422ケースをエクスポートでの拒否・失敗: FIELD_NOT_ALLOWED, FIELD_REQUIRED, FIELD_UNKNOWN, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429ケースをエクスポートでの拒否・失敗: AI_RATE_LIMITED, RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500ケースをエクスポートでの拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503ケースをエクスポートでの拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

DELETE/v1/jobs/{id}業務・本人情報 · job.delete

OpenAPI定義ありこの操作へのリンク

ケースを削除

ケースを削除。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 現在のケース権限と業務状態を検査する。status_codeは表のdraft/committedとは別。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "registered_operation_authorization",
      "operation_id": "job.delete",
      "checks": [
        "current_roles",
        "resource_scope",
        "field_policy",
        "write_preconditions"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "header.If-Match",
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
id
path
必須
json{
  "type": "string",
  "format": "uuid"
}
If-Match
header
必須
json{
  "type": "string"
}
Idempotency-Key
header
必須
json{
  "type": "string"
}

応答

HTTP内容 / データ型
204Success; fields are projected using current authorization.
application/json · null
400ケースを削除での拒否・失敗: BAD_REQUEST, ETAG_MALFORMED, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401ケースを削除での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403ケースを削除での拒否・失敗: AI_MUST_USE_PROPOSALS, AI_SUSPENDED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404ケースを削除での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409ケースを削除での拒否・失敗: AUTHORITY_CONFLICT, IDEMPOTENCY_IN_PROGRESS, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412ケースを削除での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422ケースを削除での拒否・失敗: FIELD_NOT_ALLOWED, FIELD_REQUIRED, FIELD_UNKNOWN, IDEMPOTENCY_MISMATCH, INVALID_TRANSITION, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428ケースを削除での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED, PRECONDITION_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429ケースを削除での拒否・失敗: AI_RATE_LIMITED, RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500ケースを削除での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503ケースを削除での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v1/jobs/{id}業務・本人情報 · job.get

OpenAPI定義ありこの操作へのリンク

ケースを1件取得

ケースを1件取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 現在のケース権限と業務状態を検査する。status_codeは表のdraft/committedとは別。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "registered_operation_authorization",
      "operation_id": "job.get",
      "checks": [
        "current_roles",
        "resource_scope",
        "field_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
id
path
必須
json{
  "type": "string",
  "format": "uuid"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400ケースを1件取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401ケースを1件取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403ケースを1件取得での拒否・失敗: AI_MUST_USE_PROPOSALS, AI_SUSPENDED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404ケースを1件取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409ケースを1件取得での拒否・失敗: AUTHORITY_CONFLICT, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422ケースを1件取得での拒否・失敗: FIELD_NOT_ALLOWED, FIELD_REQUIRED, FIELD_UNKNOWN, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429ケースを1件取得での拒否・失敗: AI_RATE_LIMITED, RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500ケースを1件取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503ケースを1件取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

PATCH/v1/jobs/{id}業務・本人情報 · job.update

OpenAPI定義ありこの操作へのリンク

ケースの指定項目を更新

ケースの指定項目を更新。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 現在のケース権限と業務状態を検査する。status_codeは表のdraft/committedとは別。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "registered_operation_authorization",
      "operation_id": "job.update",
      "checks": [
        "current_roles",
        "resource_scope",
        "field_policy",
        "write_preconditions"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "header.If-Match",
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
id
path
必須
json{
  "type": "string",
  "format": "uuid"
}
If-Match
header
必須
json{
  "type": "string"
}
Idempotency-Key
header
必須
json{
  "type": "string"
}

リクエスト本文

application/merge-patch+json

json{
  "type": "object",
  "properties": {
    "status_code": {
      "type": "string",
      "pattern": "^[a-z][a-z0-9_]*$"
    },
    "site_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "media_note": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "notes": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [],
  "additionalProperties": false,
  "minProperties": 1
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400ケースの指定項目を更新での拒否・失敗: BAD_REQUEST, ETAG_MALFORMED, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401ケースの指定項目を更新での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403ケースの指定項目を更新での拒否・失敗: AI_MUST_USE_PROPOSALS, AI_SUSPENDED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404ケースの指定項目を更新での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409ケースの指定項目を更新での拒否・失敗: AUTHORITY_CONFLICT, IDEMPOTENCY_IN_PROGRESS, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412ケースの指定項目を更新での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413ケースの指定項目を更新での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415ケースの指定項目を更新での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422ケースの指定項目を更新での拒否・失敗: EMPTY_PATCH, FIELD_NOT_ALLOWED, FIELD_REQUIRED, FIELD_UNKNOWN, IDEMPOTENCY_MISMATCH, INVALID_TRANSITION, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428ケースの指定項目を更新での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED, PRECONDITION_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429ケースの指定項目を更新での拒否・失敗: AI_RATE_LIMITED, RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500ケースの指定項目を更新での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503ケースの指定項目を更新での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v1/me業務・本人情報 · identity.me

OpenAPI定義ありこの操作へのリンク

ログイン中の本人情報と現在権限を取得

ログイン中の本人情報と現在権限を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 本人と現在セッションの境界を維持する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "registered_operation_authorization",
      "operation_id": "identity.me",
      "checks": [
        "current_roles",
        "resource_scope",
        "field_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400ログイン中の本人情報と現在権限を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401ログイン中の本人情報と現在権限を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403ログイン中の本人情報と現在権限を取得での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404ログイン中の本人情報と現在権限を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409ログイン中の本人情報と現在権限を取得での拒否・失敗: LOCK_BUSY。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429ログイン中の本人情報と現在権限を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500ログイン中の本人情報と現在権限を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503ログイン中の本人情報と現在権限を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v1/proposals/{id}業務・本人情報 · proposal.get

OpenAPI定義ありこの操作へのリンク

承認提案を取得

承認提案を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 現在権限で承認提案を取得する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "registered_operation_authorization",
      "operation_id": "proposal.get",
      "checks": [
        "current_roles",
        "resource_scope",
        "field_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
id
path
必須
json{
  "type": "string",
  "format": "uuid"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400承認提案を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401承認提案を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403承認提案を取得での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404承認提案を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409承認提案を取得での拒否・失敗: LOCK_BUSY, PROPOSAL_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429承認提案を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500承認提案を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503承認提案を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v1/tables顧客定義表 v1 · table.list

OpenAPI定義ありこの操作へのリンク

v1の利用可能な表を一覧取得

v1の利用可能な表を一覧取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 現在の表利用権と列権限で処理する。v1の行version、表revision、schema_version、共有viewの版を区別する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v1_table_grant",
      "action": "list",
      "checks": [
        "current_role",
        "field_read_write",
        "row_visibility"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · Tables
400v1の利用可能な表を一覧取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401v1の利用可能な表を一覧取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403v1の利用可能な表を一覧取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404v1の利用可能な表を一覧取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409v1の利用可能な表を一覧取得での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422v1の利用可能な表を一覧取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429v1の利用可能な表を一覧取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500v1の利用可能な表を一覧取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503v1の利用可能な表を一覧取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v1/tables/{collection}顧客定義表 v1 · table.definition

OpenAPI定義ありこの操作へのリンク

v1の表定義と列の権限を取得

v1の表定義と列の権限を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 現在の表利用権と列権限で処理する。v1の行version、表revision、schema_version、共有viewの版を区別する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v1_table_grant",
      "action": "definition",
      "checks": [
        "current_role",
        "field_read_write",
        "row_visibility"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string",
  "pattern": "^[a-z][a-z0-9_-]{0,47}$"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · Definition
400v1の表定義と列の権限を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401v1の表定義と列の権限を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403v1の表定義と列の権限を取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404v1の表定義と列の権限を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409v1の表定義と列の権限を取得での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422v1の表定義と列の権限を取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429v1の表定義と列の権限を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500v1の表定義と列の権限を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503v1の表定義と列の権限を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

PUT/v1/tables/{collection}顧客定義表 v1 · table.define

OpenAPI定義ありこの操作へのリンク

v1の表定義を作成・更新

v1の表定義を作成・更新。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 現在の表利用権と列権限で処理する。v1の行version、表revision、schema_version、共有viewの版を区別する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v1_table_grant",
      "action": "define",
      "checks": [
        "current_role",
        "field_read_write",
        "row_visibility",
        "designer"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "header.If-Match",
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string",
  "pattern": "^[a-z][a-z0-9_-]{0,47}$"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}
Required for writes and import mode=commit; same key and identical payload on outcome uncertainty.
If-Match
header
必須
json{
  "type": "string",
  "pattern": "^\"[0-9]+\"$"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/Define"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · DefineResult
400v1の表定義を作成・更新での拒否・失敗: BAD_REQUEST, ETAG_MALFORMED, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401v1の表定義を作成・更新での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403v1の表定義を作成・更新での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404v1の表定義を作成・更新での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409v1の表定義を作成・更新での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412v1の表定義を作成・更新での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413v1の表定義を作成・更新での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415v1の表定義を作成・更新での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422v1の表定義を作成・更新での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428v1の表定義を作成・更新での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED, PRECONDITION_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429v1の表定義を作成・更新での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500v1の表定義を作成・更新での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503v1の表定義を作成・更新での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v1/tables/{collection}/batch顧客定義表 v1 · table.batch

OpenAPI定義ありこの操作へのリンク

v1の行を一括作成・更新・削除

v1の行を一括作成・更新・削除。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 現在の表利用権と列権限で処理する。v1の行version、表revision、schema_version、共有viewの版を区別する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v1_table_grant",
      "action": "batch",
      "checks": [
        "current_role",
        "field_read_write",
        "row_visibility"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string",
  "pattern": "^[a-z][a-z0-9_-]{0,47}$"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}
Required for writes and import mode=commit; same key and identical payload on outcome uncertainty.

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/Batch"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · BatchResult
400v1の行を一括作成・更新・削除での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401v1の行を一括作成・更新・削除での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403v1の行を一括作成・更新・削除での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404v1の行を一括作成・更新・削除での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409v1の行を一括作成・更新・削除での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412v1の行を一括作成・更新・削除での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413v1の行を一括作成・更新・削除での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415v1の行を一括作成・更新・削除での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422v1の行を一括作成・更新・削除での拒否・失敗: EMPTY_PATCH, IDEMPOTENCY_MISMATCH, INVALID_TRANSITION, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428v1の行を一括作成・更新・削除での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429v1の行を一括作成・更新・削除での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500v1の行を一括作成・更新・削除での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503v1の行を一括作成・更新・削除での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v1/tables/{collection}/changes顧客定義表 v1 · table.changes

OpenAPI定義ありこの操作へのリンク

v1の表の変更版を取得

v1の表の変更版を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 現在の表利用権と列権限で処理する。v1の行version、表revision、schema_version、共有viewの版を区別する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v1_table_grant",
      "action": "changes",
      "checks": [
        "current_role",
        "field_read_write",
        "row_visibility"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string",
  "pattern": "^[a-z][a-z0-9_-]{0,47}$"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · Changes
400v1の表の変更版を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401v1の表の変更版を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403v1の表の変更版を取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404v1の表の変更版を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409v1の表の変更版を取得での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422v1の表の変更版を取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429v1の表の変更版を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500v1の表の変更版を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503v1の表の変更版を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v1/tables/{collection}/export顧客定義表 v1 · table.export

OpenAPI定義ありこの操作へのリンク

v1のCSVを取得

v1のCSVを取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 現在の表利用権と列権限で処理する。v1の行version、表revision、schema_version、共有viewの版を区別する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v1_table_grant",
      "action": "export",
      "checks": [
        "current_role",
        "field_read_write",
        "row_visibility",
        "export_role"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string",
  "pattern": "^[a-z][a-z0-9_-]{0,47}$"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/Query"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · ExportResult
400v1のCSVを取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401v1のCSVを取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403v1のCSVを取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404v1のCSVを取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409v1のCSVを取得での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413v1のCSVを取得での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415v1のCSVを取得での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422v1のCSVを取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429v1のCSVを取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500v1のCSVを取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503v1のCSVを取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v1/tables/{collection}/import顧客定義表 v1 · table.import

OpenAPI定義ありこの操作へのリンク

v1のCSVを検査・反映

v1のCSVを検査・反映。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 現在の表利用権と列権限で処理する。v1の行version、表revision、schema_version、共有viewの版を区別する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v1_table_grant",
      "action": "import",
      "checks": [
        "current_role",
        "field_read_write",
        "row_visibility"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string",
  "pattern": "^[a-z][a-z0-9_-]{0,47}$"
}
Idempotency-Key
header
任意
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}
Required for writes and import mode=commit; same key and identical payload on outcome uncertainty.

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/Import"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · BatchResult
400v1のCSVを検査・反映での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401v1のCSVを検査・反映での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403v1のCSVを検査・反映での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404v1のCSVを検査・反映での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409v1のCSVを検査・反映での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412v1のCSVを検査・反映での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413v1のCSVを検査・反映での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415v1のCSVを検査・反映での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422v1のCSVを検査・反映での拒否・失敗: EMPTY_PATCH, IDEMPOTENCY_MISMATCH, INVALID_TRANSITION, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428v1のCSVを検査・反映での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429v1のCSVを検査・反映での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500v1のCSVを検査・反映での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503v1のCSVを検査・反映での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v1/tables/{collection}/query顧客定義表 v1 · table.query

OpenAPI定義ありこの操作へのリンク

v1の行を検索

v1の行を検索。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 現在の表利用権と列権限で処理する。v1の行version、表revision、schema_version、共有viewの版を区別する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v1_table_grant",
      "action": "query",
      "checks": [
        "current_role",
        "field_read_write",
        "row_visibility"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string",
  "pattern": "^[a-z][a-z0-9_-]{0,47}$"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/Query"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · QueryResult
400v1の行を検索での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401v1の行を検索での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403v1の行を検索での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404v1の行を検索での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409v1の行を検索での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413v1の行を検索での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415v1の行を検索での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422v1の行を検索での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429v1の行を検索での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500v1の行を検索での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503v1の行を検索での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v1/tables/{collection}/rows/{rowId}顧客定義表 v1 · table.row

OpenAPI定義ありこの操作へのリンク

v1の行を1件取得

v1の行を1件取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 現在の表利用権と列権限で処理する。v1の行version、表revision、schema_version、共有viewの版を区別する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v1_table_grant",
      "action": "row",
      "checks": [
        "current_role",
        "field_read_write",
        "row_visibility"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string",
  "pattern": "^[a-z][a-z0-9_-]{0,47}$"
}
rowId
path
必須
json{
  "type": "string",
  "format": "uuid"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · RowResult
400v1の行を1件取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401v1の行を1件取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403v1の行を1件取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404v1の行を1件取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409v1の行を1件取得での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422v1の行を1件取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429v1の行を1件取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500v1の行を1件取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503v1の行を1件取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v1/tables/{collection}/views顧客定義表 v1 · table.views

OpenAPI定義ありこの操作へのリンク

v1の共有ビューを取得

v1の共有ビューを取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 現在の表利用権と列権限で処理する。v1の行version、表revision、schema_version、共有viewの版を区別する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v1_table_grant",
      "action": "views",
      "checks": [
        "current_role",
        "field_read_write",
        "row_visibility"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string",
  "pattern": "^[a-z][a-z0-9_-]{0,47}$"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · Views
400v1の共有ビューを取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401v1の共有ビューを取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403v1の共有ビューを取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404v1の共有ビューを取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409v1の共有ビューを取得での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422v1の共有ビューを取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429v1の共有ビューを取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500v1の共有ビューを取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503v1の共有ビューを取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

PUT/v1/tables/{collection}/views顧客定義表 v1 · table.view

OpenAPI定義ありこの操作へのリンク

v1の共有ビューを保存

v1の共有ビューを保存。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 現在の表利用権と列権限で処理する。v1の行version、表revision、schema_version、共有viewの版を区別する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v1_table_grant",
      "action": "view",
      "checks": [
        "current_role",
        "field_read_write",
        "row_visibility",
        "designer"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string",
  "pattern": "^[a-z][a-z0-9_-]{0,47}$"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}
Required for writes and import mode=commit; same key and identical payload on outcome uncertainty.

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/ViewInput"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · ViewResult
400v1の共有ビューを保存での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401v1の共有ビューを保存での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403v1の共有ビューを保存での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404v1の共有ビューを保存での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409v1の共有ビューを保存での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412v1の共有ビューを保存での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413v1の共有ビューを保存での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415v1の共有ビューを保存での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422v1の共有ビューを保存での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428v1の共有ビューを保存での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429v1の共有ビューを保存での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500v1の共有ビューを保存での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503v1の共有ビューを保存での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/access/deletions/{subjectId}/{collection}人物・行アクセス · workspaceAccess.deleteGet

OpenAPI定義ありこの操作へのリンク

本人の行削除範囲を取得

本人の行削除範囲を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 管理権限は業務行の閲覧権を付与しない。人物対応は明示された本人IDと人物行を使い、名前や行所有者から推測しない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "deleteGet"
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
subjectId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
collection
path
必須
json{
  "type": "string"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · HumanDeleteGrant
400本人の行削除範囲を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401本人の行削除範囲を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403本人の行削除範囲を取得での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404本人の行削除範囲を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409本人の行削除範囲を取得での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422本人の行削除範囲を取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429本人の行削除範囲を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500本人の行削除範囲を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503本人の行削除範囲を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

PUT/v2/access/deletions/{subjectId}/{collection}人物・行アクセス · workspaceAccess.deletePut

OpenAPI定義ありこの操作へのリンク

本人の行削除範囲を設定

本人の行削除範囲を設定。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 管理権限は業務行の閲覧権を付与しない。人物対応は明示された本人IDと人物行を使い、名前や行所有者から推測しない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "deletePut"
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
subjectId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
collection
path
必須
json{
  "type": "string"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/HumanDeleteInput"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · HumanDeleteGrant
400本人の行削除範囲を設定での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401本人の行削除範囲を設定での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403本人の行削除範囲を設定での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404本人の行削除範囲を設定での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409本人の行削除範囲を設定での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412本人の行削除範囲を設定での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413本人の行削除範囲を設定での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415本人の行削除範囲を設定での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422本人の行削除範囲を設定での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428本人の行削除範囲を設定での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429本人の行削除範囲を設定での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500本人の行削除範囲を設定での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503本人の行削除範囲を設定での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/access/grants/{subjectId}/{collection}サービス・権限 · service.grantGet

OpenAPI定義ありこの操作へのリンク

本人の表利用権を取得

本人の表利用権を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 管理操作は登録済みMFA本人、機械操作は専用audienceのservice資格を使う。人のJWTを機械経路へ流用しない。changeはversion必須で、rotateのみjwkが必要。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "grantGet"
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
subjectId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
collection
path
必須
json{
  "type": "string"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · AccessGrant
400本人の表利用権を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401本人の表利用権を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403本人の表利用権を取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404本人の表利用権を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409本人の表利用権を取得での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422本人の表利用権を取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429本人の表利用権を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500本人の表利用権を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503本人の表利用権を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

PUT/v2/access/grants/{subjectId}/{collection}サービス・権限 · service.grantPut

OpenAPI定義ありこの操作へのリンク

本人の表利用権を設定

本人の表利用権を設定。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 管理操作は登録済みMFA本人、機械操作は専用audienceのservice資格を使う。人のJWTを機械経路へ流用しない。changeはversion必須で、rotateのみjwkが必要。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "grantPut"
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "version",
  "identifier": "body.version",
  "safe_to_repeat": false,
  "result_check": "GET /v2/access/grants/{subjectId}/{collection} で現在版・状態・対象値を確認。版は競合検出であり応答再生キーではない。未確定ならrequest_idで照会し、最新版を自動採用して再送しない。"
}

パラメーター

名前 / 場所必須型・条件
subjectId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
collection
path
必須
json{
  "type": "string"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/AccessGrantInput"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · AccessGrant
400本人の表利用権を設定での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401本人の表利用権を設定での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403本人の表利用権を設定での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404本人の表利用権を設定での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409本人の表利用権を設定での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412本人の表利用権を設定での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413本人の表利用権を設定での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415本人の表利用権を設定での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422本人の表利用権を設定での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428本人の表利用権を設定での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429本人の表利用権を設定での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500本人の表利用権を設定での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503本人の表利用権を設定での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/access/people/{collection}人物・行アクセス · workspaceAccess.rootGet

OpenAPI定義ありこの操作へのリンク

人物表の登録状態を取得

人物表の登録状態を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 管理権限は業務行の閲覧権を付与しない。人物対応は明示された本人IDと人物行を使い、名前や行所有者から推測しない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "rootGet"
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · PersonRootResult
400人物表の登録状態を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401人物表の登録状態を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403人物表の登録状態を取得での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404人物表の登録状態を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409人物表の登録状態を取得での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422人物表の登録状態を取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429人物表の登録状態を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500人物表の登録状態を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503人物表の登録状態を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

PUT/v2/access/people/{collection}人物・行アクセス · workspaceAccess.rootPut

OpenAPI定義ありこの操作へのリンク

人物表を登録

人物表を登録。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 管理権限は業務行の閲覧権を付与しない。人物対応は明示された本人IDと人物行を使い、名前や行所有者から推測しない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "rootPut"
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/PersonRootInput"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · PersonRootResult
400人物表を登録での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401人物表を登録での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403人物表を登録での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404人物表を登録での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409人物表を登録での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412人物表を登録での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413人物表を登録での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415人物表を登録での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422人物表を登録での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428人物表を登録での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429人物表を登録での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500人物表を登録での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503人物表を登録での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/access/people/{collection}/bindings/{subjectId}人物・行アクセス · workspaceAccess.bindingGet

OpenAPI定義ありこの操作へのリンク

本人IDと人物行の対応を取得

本人IDと人物行の対応を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 管理権限は業務行の閲覧権を付与しない。人物対応は明示された本人IDと人物行を使い、名前や行所有者から推測しない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "bindingGet"
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
subjectId
path
必須
json{
  "type": "string",
  "format": "uuid"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · PersonBindingResult
400本人IDと人物行の対応を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401本人IDと人物行の対応を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403本人IDと人物行の対応を取得での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404本人IDと人物行の対応を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409本人IDと人物行の対応を取得での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422本人IDと人物行の対応を取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429本人IDと人物行の対応を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500本人IDと人物行の対応を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503本人IDと人物行の対応を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

PUT/v2/access/people/{collection}/bindings/{subjectId}人物・行アクセス · workspaceAccess.bindingPut

OpenAPI定義ありこの操作へのリンク

本人IDと人物行の対応を設定

本人IDと人物行の対応を設定。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 管理権限は業務行の閲覧権を付与しない。人物対応は明示された本人IDと人物行を使い、名前や行所有者から推測しない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "bindingPut"
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
subjectId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/PersonBindingInput"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · PersonBindingResult
400本人IDと人物行の対応を設定での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401本人IDと人物行の対応を設定での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403本人IDと人物行の対応を設定での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404本人IDと人物行の対応を設定での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409本人IDと人物行の対応を設定での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412本人IDと人物行の対応を設定での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413本人IDと人物行の対応を設定での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415本人IDと人物行の対応を設定での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422本人IDと人物行の対応を設定での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428本人IDと人物行の対応を設定での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429本人IDと人物行の対応を設定での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500本人IDと人物行の対応を設定での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503本人IDと人物行の対応を設定での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/access/people/{collection}/rows/{personId}/members人物・行アクセス · workspaceAccess.membersGet

OpenAPI定義ありこの操作へのリンク

人物行の所属者を取得

人物行の所属者を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 管理権限は業務行の閲覧権を付与しない。人物対応は明示された本人IDと人物行を使い、名前や行所有者から推測しない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "membersGet"
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
personId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
limit
query
任意
json{
  "type": "integer",
  "minimum": 1,
  "maximum": 100
}
after
query
任意
json{
  "type": "string",
  "format": "uuid"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · PersonMembersPage
400人物行の所属者を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401人物行の所属者を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403人物行の所属者を取得での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404人物行の所属者を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409人物行の所属者を取得での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422人物行の所属者を取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429人物行の所属者を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500人物行の所属者を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503人物行の所属者を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

PUT/v2/access/people/{collection}/rows/{personId}/members人物・行アクセス · workspaceAccess.membersPut

OpenAPI定義ありこの操作へのリンク

人物行の所属者を設定

人物行の所属者を設定。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 管理権限は業務行の閲覧権を付与しない。人物対応は明示された本人IDと人物行を使い、名前や行所有者から推測しない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "membersPut"
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
personId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/PersonMembersInput"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · PersonMembersResult
400人物行の所属者を設定での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401人物行の所属者を設定での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403人物行の所属者を設定での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404人物行の所属者を設定での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409人物行の所属者を設定での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412人物行の所属者を設定での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413人物行の所属者を設定での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415人物行の所属者を設定での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422人物行の所属者を設定での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428人物行の所属者を設定での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429人物行の所属者を設定での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500人物行の所属者を設定での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503人物行の所属者を設定での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/access/subjectsサービス・権限 · service.subjects

OpenAPI定義ありこの操作へのリンク

権限管理対象の本人IDを一覧取得

権限管理対象の本人IDを一覧取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 管理操作は登録済みMFA本人、機械操作は専用audienceのservice資格を使う。人のJWTを機械経路へ流用しない。changeはversion必須で、rotateのみjwkが必要。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "subjects"
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
limit
query
任意
json{
  "type": "integer",
  "minimum": 1,
  "maximum": 100
}
after
query
任意
json{
  "type": "string",
  "format": "uuid"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · AccessSubjects
400権限管理対象の本人IDを一覧取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401権限管理対象の本人IDを一覧取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403権限管理対象の本人IDを一覧取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404権限管理対象の本人IDを一覧取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409権限管理対象の本人IDを一覧取得での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422権限管理対象の本人IDを一覧取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429権限管理対象の本人IDを一覧取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500権限管理対象の本人IDを一覧取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503権限管理対象の本人IDを一覧取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/access/tablesサービス・権限 · service.tables

OpenAPI定義ありこの操作へのリンク

権限管理対象の表を一覧取得

権限管理対象の表を一覧取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 管理操作は登録済みMFA本人、機械操作は専用audienceのservice資格を使う。人のJWTを機械経路へ流用しない。changeはversion必須で、rotateのみjwkが必要。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "tables"
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
limit
query
任意
json{
  "type": "integer",
  "minimum": 1,
  "maximum": 100
}
after
query
任意
json{
  "type": "string"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · AccessTables
400権限管理対象の表を一覧取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401権限管理対象の表を一覧取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403権限管理対象の表を一覧取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404権限管理対象の表を一覧取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409権限管理対象の表を一覧取得での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422権限管理対象の表を一覧取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429権限管理対象の表を一覧取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500権限管理対象の表を一覧取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503権限管理対象の表を一覧取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/access/tables/{collection}サービス・権限 · service.definition

OpenAPI定義ありこの操作へのリンク

権限設定用の表定義を取得

権限設定用の表定義を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 管理操作は登録済みMFA本人、機械操作は専用audienceのservice資格を使う。人のJWTを機械経路へ流用しない。changeはversion必須で、rotateのみjwkが必要。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "definition"
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · AccessDefinition
400権限設定用の表定義を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401権限設定用の表定義を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403権限設定用の表定義を取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404権限設定用の表定義を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409権限設定用の表定義を取得での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422権限設定用の表定義を取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429権限設定用の表定義を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500権限設定用の表定義を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503権限設定用の表定義を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/app-adoptions/applyアプリ定義・移行 · app-packages.adoptionApply

OpenAPI定義ありこの操作へのリンク

確認済みの既存アプリ台帳を採用

確認済みの既存アプリ台帳を採用。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 アプリとCSV契約・接続要件・移行の操作。計画を確認してからfingerprintを変えず適用する。空のcsvは対象アプリの取込形式を明示的に無効化する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "adoptionApply"
    },
    {
      "kind": "affected_tables",
      "checks": [
        "current_design_grants",
        "dependency_state"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "fingerprint",
  "identifier": "body.migration.migration_id + body.fingerprint",
  "required_header": "Idempotency-Key(形式検査のみ。受領の識別子ではない)",
  "safe_to_repeat": true,
  "result_check": "同じ主体・移行ID・本文・fingerprintで再送しadoption受領を確認。入力を変更した再送は拒否される。対象アプリのGETでも状態を照合する。"
}

パラメーター

名前 / 場所必須型・条件
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}

リクエスト本文

application/json

json{
  "type": "object",
  "properties": {
    "migration": {
      "type": "object",
      "properties": {
        "migration_id": {
          "type": "string",
          "format": "uuid"
        },
        "source_fingerprint": {
          "type": "string",
          "pattern": "^[0-9a-f]{64}$"
        },
        "apps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "package": {
                "type": "object",
                "properties": {
                  "manifest": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "version": {
                        "type": "integer",
                        "minimum": 1
                      },
                      "name": {
                        "type": "string"
                      },
                      "datasets": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "mode": {
                              "enum": [
                                "owned",
                                "shared"
                              ]
                            },
                            "definition": {
                              "$ref": "#/components/schemas/WorkspaceDefine"
                            }
                          },
                          "required": [
                            "id",
                            "mode",
                            "definition"
                          ],
                          "additionalProperties": false
                        },
                        "maxItems": 32,
                        "minItems": 1
                      },
                      "dependencies": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "maxItems": 32,
                        "uniqueItems": true
                      }
                    },
                    "required": [
                      "id",
                      "version",
                      "name",
                      "datasets",
                      "dependencies"
                    ],
                    "additionalProperties": false
                  },
                  "csv": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "collection": {
                          "type": "string"
                        },
                        "key_fields": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "maxItems": 64,
                          "minItems": 1,
                          "uniqueItems": true
                        }
                      },
                      "required": [
                        "collection",
                        "key_fields"
                      ],
                      "additionalProperties": false
                    },
                    "maxItems": 32
                  },
                  "requirements": {
                    "type": "object",
                    "properties": {
                      "dependencies": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "min_version": {
                              "type": "integer",
                              "minimum": 1
                            }
                          },
                          "required": [
                            "id",
                            "min_version"
                          ],
                          "additionalProperties": false
                        },
                        "maxItems": 32
                      },
                      "integrations": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "maxItems": 16
                      },
                      "service_clients": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "maxItems": 16
                      }
                    },
                    "required": [
                      "dependencies",
                      "integrations",
                      "service_clients"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "manifest",
                  "csv"
                ],
                "additionalProperties": false
              },
              "revision": {
                "type": "integer",
                "minimum": 1
              },
              "state": {
                "enum": [
                  "active",
                  "stopped",
                  "detached"
                ]
              },
              "legacy_state": {
                "enum": [
                  "registered",
                  "stopped",
                  "detached",
                  "awaiting_activation",
                  "awaiting_integration"
                ]
              }
            },
            "required": [
              "package",
              "revision",
              "state",
              "legacy_state"
            ],
            "additionalProperties": false
          },
          "maxItems": 64
        }
      },
      "required": [
        "migration_id",
        "source_fingerprint",
        "apps"
      ],
      "additionalProperties": false
    },
    "fingerprint": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    }
  },
  "required": [
    "migration",
    "fingerprint"
  ],
  "additionalProperties": false
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400確認済みの既存アプリ台帳を採用での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401確認済みの既存アプリ台帳を採用での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403確認済みの既存アプリ台帳を採用での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404確認済みの既存アプリ台帳を採用での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409確認済みの既存アプリ台帳を採用での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412確認済みの既存アプリ台帳を採用での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413確認済みの既存アプリ台帳を採用での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415確認済みの既存アプリ台帳を採用での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422確認済みの既存アプリ台帳を採用での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428確認済みの既存アプリ台帳を採用での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429確認済みの既存アプリ台帳を採用での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500確認済みの既存アプリ台帳を採用での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503確認済みの既存アプリ台帳を採用での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/app-adoptions/planアプリ定義・移行 · app-packages.adoptionPlan

OpenAPI定義ありこの操作へのリンク

既存アプリ台帳の採用を計画

既存アプリ台帳の採用を計画。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 アプリとCSV契約・接続要件・移行の操作。計画を確認してからfingerprintを変えず適用する。空のcsvは対象アプリの取込形式を明示的に無効化する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "adoptionPlan"
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

リクエスト本文

application/json

json{
  "type": "object",
  "properties": {
    "migration_id": {
      "type": "string",
      "format": "uuid"
    },
    "source_fingerprint": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    },
    "apps": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "package": {
            "type": "object",
            "properties": {
              "manifest": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "version": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "name": {
                    "type": "string"
                  },
                  "datasets": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "mode": {
                          "enum": [
                            "owned",
                            "shared"
                          ]
                        },
                        "definition": {
                          "$ref": "#/components/schemas/WorkspaceDefine"
                        }
                      },
                      "required": [
                        "id",
                        "mode",
                        "definition"
                      ],
                      "additionalProperties": false
                    },
                    "maxItems": 32,
                    "minItems": 1
                  },
                  "dependencies": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 32,
                    "uniqueItems": true
                  }
                },
                "required": [
                  "id",
                  "version",
                  "name",
                  "datasets",
                  "dependencies"
                ],
                "additionalProperties": false
              },
              "csv": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "collection": {
                      "type": "string"
                    },
                    "key_fields": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "maxItems": 64,
                      "minItems": 1,
                      "uniqueItems": true
                    }
                  },
                  "required": [
                    "collection",
                    "key_fields"
                  ],
                  "additionalProperties": false
                },
                "maxItems": 32
              },
              "requirements": {
                "type": "object",
                "properties": {
                  "dependencies": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "min_version": {
                          "type": "integer",
                          "minimum": 1
                        }
                      },
                      "required": [
                        "id",
                        "min_version"
                      ],
                      "additionalProperties": false
                    },
                    "maxItems": 32
                  },
                  "integrations": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 16
                  },
                  "service_clients": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "maxItems": 16
                  }
                },
                "required": [
                  "dependencies",
                  "integrations",
                  "service_clients"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "manifest",
              "csv"
            ],
            "additionalProperties": false
          },
          "revision": {
            "type": "integer",
            "minimum": 1
          },
          "state": {
            "enum": [
              "active",
              "stopped",
              "detached"
            ]
          },
          "legacy_state": {
            "enum": [
              "registered",
              "stopped",
              "detached",
              "awaiting_activation",
              "awaiting_integration"
            ]
          }
        },
        "required": [
          "package",
          "revision",
          "state",
          "legacy_state"
        ],
        "additionalProperties": false
      },
      "maxItems": 64
    }
  },
  "required": [
    "migration_id",
    "source_fingerprint",
    "apps"
  ],
  "additionalProperties": false
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400既存アプリ台帳の採用を計画での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401既存アプリ台帳の採用を計画での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403既存アプリ台帳の採用を計画での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404既存アプリ台帳の採用を計画での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409既存アプリ台帳の採用を計画での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413既存アプリ台帳の採用を計画での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415既存アプリ台帳の採用を計画での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422既存アプリ台帳の採用を計画での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429既存アプリ台帳の採用を計画での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500既存アプリ台帳の採用を計画での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503既存アプリ台帳の採用を計画での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/app-packages/applyアプリ定義・移行 · app-packages.apply

OpenAPI定義ありこの操作へのリンク

確認済みアプリとCSV契約を適用

確認済みアプリとCSV契約を適用。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 アプリとCSV契約・接続要件・移行の操作。計画を確認してからfingerprintを変えず適用する。空のcsvは対象アプリの取込形式を明示的に無効化する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "apply"
    },
    {
      "kind": "affected_tables",
      "checks": [
        "current_design_grants",
        "dependency_state"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}

リクエスト本文

application/json

json{
  "type": "object",
  "properties": {
    "package": {
      "type": "object",
      "properties": {
        "manifest": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "version": {
              "type": "integer",
              "minimum": 1
            },
            "name": {
              "type": "string"
            },
            "datasets": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "mode": {
                    "enum": [
                      "owned",
                      "shared"
                    ]
                  },
                  "definition": {
                    "$ref": "#/components/schemas/WorkspaceDefine"
                  }
                },
                "required": [
                  "id",
                  "mode",
                  "definition"
                ],
                "additionalProperties": false
              },
              "maxItems": 32,
              "minItems": 1
            },
            "dependencies": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 32,
              "uniqueItems": true
            }
          },
          "required": [
            "id",
            "version",
            "name",
            "datasets",
            "dependencies"
          ],
          "additionalProperties": false
        },
        "csv": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "collection": {
                "type": "string"
              },
              "key_fields": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "maxItems": 64,
                "minItems": 1,
                "uniqueItems": true
              }
            },
            "required": [
              "collection",
              "key_fields"
            ],
            "additionalProperties": false
          },
          "maxItems": 32
        },
        "requirements": {
          "type": "object",
          "properties": {
            "dependencies": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "min_version": {
                    "type": "integer",
                    "minimum": 1
                  }
                },
                "required": [
                  "id",
                  "min_version"
                ],
                "additionalProperties": false
              },
              "maxItems": 32
            },
            "integrations": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 16
            },
            "service_clients": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              },
              "maxItems": 16
            }
          },
          "required": [
            "dependencies",
            "integrations",
            "service_clients"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "manifest",
        "csv"
      ],
      "additionalProperties": false
    },
    "fingerprint": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    }
  },
  "required": [
    "package",
    "fingerprint"
  ],
  "additionalProperties": false
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400確認済みアプリとCSV契約を適用での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401確認済みアプリとCSV契約を適用での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403確認済みアプリとCSV契約を適用での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404確認済みアプリとCSV契約を適用での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409確認済みアプリとCSV契約を適用での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412確認済みアプリとCSV契約を適用での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413確認済みアプリとCSV契約を適用での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415確認済みアプリとCSV契約を適用での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422確認済みアプリとCSV契約を適用での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428確認済みアプリとCSV契約を適用での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429確認済みアプリとCSV契約を適用での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500確認済みアプリとCSV契約を適用での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503確認済みアプリとCSV契約を適用での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/app-packages/planアプリ定義・移行 · app-packages.plan

OpenAPI定義ありこの操作へのリンク

アプリとCSV契約の変更を計画

アプリとCSV契約の変更を計画。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 アプリとCSV契約・接続要件・移行の操作。計画を確認してからfingerprintを変えず適用する。空のcsvは対象アプリの取込形式を明示的に無効化する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "plan"
    },
    {
      "kind": "affected_tables",
      "checks": [
        "current_design_grants",
        "dependency_state"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

リクエスト本文

application/json

json{
  "type": "object",
  "properties": {
    "manifest": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "version": {
          "type": "integer",
          "minimum": 1
        },
        "name": {
          "type": "string"
        },
        "datasets": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "mode": {
                "enum": [
                  "owned",
                  "shared"
                ]
              },
              "definition": {
                "$ref": "#/components/schemas/WorkspaceDefine"
              }
            },
            "required": [
              "id",
              "mode",
              "definition"
            ],
            "additionalProperties": false
          },
          "maxItems": 32,
          "minItems": 1
        },
        "dependencies": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 32,
          "uniqueItems": true
        }
      },
      "required": [
        "id",
        "version",
        "name",
        "datasets",
        "dependencies"
      ],
      "additionalProperties": false
    },
    "csv": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "collection": {
            "type": "string"
          },
          "key_fields": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 64,
            "minItems": 1,
            "uniqueItems": true
          }
        },
        "required": [
          "collection",
          "key_fields"
        ],
        "additionalProperties": false
      },
      "maxItems": 32
    },
    "requirements": {
      "type": "object",
      "properties": {
        "dependencies": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "min_version": {
                "type": "integer",
                "minimum": 1
              }
            },
            "required": [
              "id",
              "min_version"
            ],
            "additionalProperties": false
          },
          "maxItems": 32
        },
        "integrations": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 16
        },
        "service_clients": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uuid"
          },
          "maxItems": 16
        }
      },
      "required": [
        "dependencies",
        "integrations",
        "service_clients"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "manifest",
    "csv"
  ],
  "additionalProperties": false
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400アプリとCSV契約の変更を計画での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401アプリとCSV契約の変更を計画での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403アプリとCSV契約の変更を計画での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404アプリとCSV契約の変更を計画での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409アプリとCSV契約の変更を計画での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413アプリとCSV契約の変更を計画での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415アプリとCSV契約の変更を計画での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422アプリとCSV契約の変更を計画での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429アプリとCSV契約の変更を計画での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500アプリとCSV契約の変更を計画での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503アプリとCSV契約の変更を計画での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/app-packages/{appId}アプリ定義・移行 · app-packages.get

OpenAPI定義ありこの操作へのリンク

アプリとCSV契約を取得

アプリとCSV契約を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 アプリとCSV契約・接続要件・移行の操作。計画を確認してからfingerprintを変えず適用する。空のcsvは対象アプリの取込形式を明示的に無効化する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "get"
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
appId
path
必須
json{
  "type": "string"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400アプリとCSV契約を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401アプリとCSV契約を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403アプリとCSV契約を取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404アプリとCSV契約を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409アプリとCSV契約を取得での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422アプリとCSV契約を取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429アプリとCSV契約を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500アプリとCSV契約を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503アプリとCSV契約を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/app-policyアプリ管理 · apps.policy

OpenAPI定義ありこの操作へのリンク

アプリごみ箱の保持期間を確認

アプリごみ箱の保持期間を確認。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 アプリ台帳の計画・適用・状態遷移。画面プログラムの環境を自動実行する契約ではない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "policy"
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceTrashPolicy
400アプリごみ箱の保持期間を確認での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401アプリごみ箱の保持期間を確認での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403アプリごみ箱の保持期間を確認での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404アプリごみ箱の保持期間を確認での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409アプリごみ箱の保持期間を確認での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422アプリごみ箱の保持期間を確認での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429アプリごみ箱の保持期間を確認での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500アプリごみ箱の保持期間を確認での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503アプリごみ箱の保持期間を確認での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/appsアプリ管理 · apps.list

OpenAPI定義ありこの操作へのリンク

登録アプリを一覧取得

登録アプリを一覧取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 アプリ台帳の計画・適用・状態遷移。画面プログラムの環境を自動実行する契約ではない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "list"
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
limit
query
任意
json{
  "type": "integer",
  "minimum": 1,
  "maximum": 100,
  "default": 50
}
after
query
任意
json{
  "type": "string",
  "pattern": "^[a-z][a-z0-9_-]{0,47}$"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · AppList
400登録アプリを一覧取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401登録アプリを一覧取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403登録アプリを一覧取得での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404登録アプリを一覧取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409登録アプリを一覧取得での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422登録アプリを一覧取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429登録アプリを一覧取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500登録アプリを一覧取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503登録アプリを一覧取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/apps/applyアプリ管理 · apps.apply

OpenAPI定義ありこの操作へのリンク

確認済みアプリ定義を適用

確認済みアプリ定義を適用。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 アプリ台帳の計画・適用・状態遷移。画面プログラムの環境を自動実行する契約ではない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "apply"
    },
    {
      "kind": "affected_tables",
      "checks": [
        "current_design_grants",
        "dependency_state"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/AppApply"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · AppState
400確認済みアプリ定義を適用での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401確認済みアプリ定義を適用での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403確認済みアプリ定義を適用での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404確認済みアプリ定義を適用での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409確認済みアプリ定義を適用での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412確認済みアプリ定義を適用での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413確認済みアプリ定義を適用での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415確認済みアプリ定義を適用での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422確認済みアプリ定義を適用での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428確認済みアプリ定義を適用での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429確認済みアプリ定義を適用での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500確認済みアプリ定義を適用での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503確認済みアプリ定義を適用での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/apps/planアプリ管理 · apps.plan

OpenAPI定義ありこの操作へのリンク

アプリ登録・更新を計画

アプリ登録・更新を計画。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 アプリ台帳の計画・適用・状態遷移。画面プログラムの環境を自動実行する契約ではない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "plan"
    },
    {
      "kind": "affected_tables",
      "checks": [
        "current_design_grants",
        "dependency_state"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/AppManifest"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · AppPlan
400アプリ登録・更新を計画での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401アプリ登録・更新を計画での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403アプリ登録・更新を計画での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404アプリ登録・更新を計画での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409アプリ登録・更新を計画での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413アプリ登録・更新を計画での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415アプリ登録・更新を計画での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422アプリ登録・更新を計画での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429アプリ登録・更新を計画での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500アプリ登録・更新を計画での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503アプリ登録・更新を計画での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/apps/{appId}アプリ管理 · apps.get

OpenAPI定義ありこの操作へのリンク

アプリの状態と定義を取得

アプリの状態と定義を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 アプリ台帳の計画・適用・状態遷移。画面プログラムの環境を自動実行する契約ではない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "get"
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
appId
path
必須
json{
  "type": "string",
  "pattern": "^[a-z][a-z0-9_-]{0,47}$"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · AppState
400アプリの状態と定義を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401アプリの状態と定義を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403アプリの状態と定義を取得での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404アプリの状態と定義を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409アプリの状態と定義を取得での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422アプリの状態と定義を取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429アプリの状態と定義を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500アプリの状態と定義を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503アプリの状態と定義を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/apps/{appId}/requirements/applyアプリ定義・移行 · app-packages.requirementsApply

OpenAPI定義ありこの操作へのリンク

確認済みアプリ接続要件を適用

確認済みアプリ接続要件を適用。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 アプリとCSV契約・接続要件・移行の操作。計画を確認してからfingerprintを変えず適用する。空のcsvは対象アプリの取込形式を明示的に無効化する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "requirementsApply"
    },
    {
      "kind": "affected_tables",
      "checks": [
        "current_design_grants",
        "dependency_state"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
appId
path
必須
json{
  "type": "string"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}

リクエスト本文

application/json

json{
  "type": "object",
  "properties": {
    "requirements": {
      "type": "object",
      "properties": {
        "dependencies": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "min_version": {
                "type": "integer",
                "minimum": 1
              }
            },
            "required": [
              "id",
              "min_version"
            ],
            "additionalProperties": false
          },
          "maxItems": 32
        },
        "integrations": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 16
        },
        "service_clients": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uuid"
          },
          "maxItems": 16
        }
      },
      "required": [
        "dependencies",
        "integrations",
        "service_clients"
      ],
      "additionalProperties": false
    },
    "fingerprint": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    }
  },
  "required": [
    "requirements",
    "fingerprint"
  ],
  "additionalProperties": false
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400確認済みアプリ接続要件を適用での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401確認済みアプリ接続要件を適用での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403確認済みアプリ接続要件を適用での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404確認済みアプリ接続要件を適用での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409確認済みアプリ接続要件を適用での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412確認済みアプリ接続要件を適用での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413確認済みアプリ接続要件を適用での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415確認済みアプリ接続要件を適用での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422確認済みアプリ接続要件を適用での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428確認済みアプリ接続要件を適用での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429確認済みアプリ接続要件を適用での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500確認済みアプリ接続要件を適用での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503確認済みアプリ接続要件を適用での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/apps/{appId}/requirements/planアプリ定義・移行 · app-packages.requirementsPlan

OpenAPI定義ありこの操作へのリンク

アプリ接続要件の変更を計画

アプリ接続要件の変更を計画。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 アプリとCSV契約・接続要件・移行の操作。計画を確認してからfingerprintを変えず適用する。空のcsvは対象アプリの取込形式を明示的に無効化する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "requirementsPlan"
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
appId
path
必須
json{
  "type": "string"
}

リクエスト本文

application/json

json{
  "type": "object",
  "properties": {
    "dependencies": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "min_version": {
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "id",
          "min_version"
        ],
        "additionalProperties": false
      },
      "maxItems": 32
    },
    "integrations": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 16
    },
    "service_clients": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "maxItems": 16
    }
  },
  "required": [
    "dependencies",
    "integrations",
    "service_clients"
  ],
  "additionalProperties": false
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400アプリ接続要件の変更を計画での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401アプリ接続要件の変更を計画での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403アプリ接続要件の変更を計画での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404アプリ接続要件の変更を計画での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409アプリ接続要件の変更を計画での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413アプリ接続要件の変更を計画での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415アプリ接続要件の変更を計画での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422アプリ接続要件の変更を計画での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429アプリ接続要件の変更を計画での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500アプリ接続要件の変更を計画での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503アプリ接続要件の変更を計画での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/apps/{appId}/stateアプリ管理 · apps.transition

OpenAPI定義ありこの操作へのリンク

アプリを停止・再開・切離し・ごみ箱移動・復元

アプリを停止・再開・切離し・ごみ箱移動・復元。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 アプリ台帳の計画・適用・状態遷移。画面プログラムの環境を自動実行する契約ではない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "transition"
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
appId
path
必須
json{
  "type": "string",
  "pattern": "^[a-z][a-z0-9_-]{0,47}$"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/AppTransition"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · AppState
400アプリを停止・再開・切離し・ごみ箱移動・復元での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401アプリを停止・再開・切離し・ごみ箱移動・復元での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403アプリを停止・再開・切離し・ごみ箱移動・復元での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404アプリを停止・再開・切離し・ごみ箱移動・復元での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409アプリを停止・再開・切離し・ごみ箱移動・復元での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412アプリを停止・再開・切離し・ごみ箱移動・復元での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413アプリを停止・再開・切離し・ごみ箱移動・復元での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415アプリを停止・再開・切離し・ごみ箱移動・復元での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422アプリを停止・再開・切離し・ごみ箱移動・復元での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428アプリを停止・再開・切離し・ごみ箱移動・復元での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429アプリを停止・再開・切離し・ごみ箱移動・復元での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500アプリを停止・再開・切離し・ごみ箱移動・復元での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503アプリを停止・再開・切離し・ごみ箱移動・復元での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/cases業務表・ケース v2 · workspace.caseCreate

OpenAPI定義ありこの操作へのリンク

ケース台帳に新規採番して登録

ケース台帳に新規採番して登録。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "caseCreate",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/CaseCreate"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · CaseResult
400ケース台帳に新規採番して登録での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401ケース台帳に新規採番して登録での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403ケース台帳に新規採番して登録での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404ケース台帳に新規採番して登録での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409ケース台帳に新規採番して登録での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412ケース台帳に新規採番して登録での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413ケース台帳に新規採番して登録での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415ケース台帳に新規採番して登録での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422ケース台帳に新規採番して登録での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428ケース台帳に新規採番して登録での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429ケース台帳に新規採番して登録での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500ケース台帳に新規採番して登録での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503ケース台帳に新規採番して登録での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/cases/import業務表・ケース v2 · workspace.caseImport

OpenAPI定義ありこの操作へのリンク

既存のケース番号を取込

既存のケース番号を取込。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "caseImport",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy",
        "can_import"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/CaseImport"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · CaseImportResult
400既存のケース番号を取込での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401既存のケース番号を取込での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403既存のケース番号を取込での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404既存のケース番号を取込での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409既存のケース番号を取込での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412既存のケース番号を取込での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413既存のケース番号を取込での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415既存のケース番号を取込での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422既存のケース番号を取込での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428既存のケース番号を取込での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429既存のケース番号を取込での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500既存のケース番号を取込での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503既存のケース番号を取込での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/cases/query業務表・ケース v2 · workspace.caseQuery

OpenAPI定義ありこの操作へのリンク

ケース台帳を検索

ケース台帳を検索。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "caseQuery",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/CaseQuery"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · CaseQueryResult
400ケース台帳を検索での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401ケース台帳を検索での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403ケース台帳を検索での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404ケース台帳を検索での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409ケース台帳を検索での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413ケース台帳を検索での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415ケース台帳を検索での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422ケース台帳を検索での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429ケース台帳を検索での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500ケース台帳を検索での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503ケース台帳を検索での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/cases/{rowId}業務表・ケース v2 · workspace.caseGet

OpenAPI定義ありこの操作へのリンク

ケース台帳を1件取得

ケース台帳を1件取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "caseGet",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
rowId
path
必須
json{
  "type": "string",
  "format": "uuid"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · CaseResult
400ケース台帳を1件取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401ケース台帳を1件取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403ケース台帳を1件取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404ケース台帳を1件取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409ケース台帳を1件取得での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422ケース台帳を1件取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429ケース台帳を1件取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500ケース台帳を1件取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503ケース台帳を1件取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/cases/{rowId}/cancel業務表・ケース v2 · workspace.caseCancel

OpenAPI定義ありこの操作へのリンク

ケースを取消

ケースを取消。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "caseCancel",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
rowId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/CaseCancel"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · CaseResult
400ケースを取消での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401ケースを取消での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403ケースを取消での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404ケースを取消での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409ケースを取消での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412ケースを取消での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413ケースを取消での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415ケースを取消での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422ケースを取消での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428ケースを取消での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429ケースを取消での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500ケースを取消での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503ケースを取消での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/data-migrationsアプリ定義・移行 · app-packages.migrationList

OpenAPI定義ありこの操作へのリンク

データ移行の一覧を取得

データ移行の一覧を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 アプリとCSV契約・接続要件・移行の操作。計画を確認してからfingerprintを変えず適用する。空のcsvは対象アプリの取込形式を明示的に無効化する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "migrationList"
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
limit
query
任意
json{
  "type": "integer",
  "minimum": 1,
  "maximum": 100
}
after
query
任意
json{
  "type": "string",
  "format": "uuid"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400データ移行の一覧を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401データ移行の一覧を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403データ移行の一覧を取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404データ移行の一覧を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409データ移行の一覧を取得での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422データ移行の一覧を取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429データ移行の一覧を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500データ移行の一覧を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503データ移行の一覧を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/data-migrations/beginアプリ定義・移行 · app-packages.migrationBegin

OpenAPI定義ありこの操作へのリンク

確認済みデータ移行を開始

確認済みデータ移行を開始。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 アプリとCSV契約・接続要件・移行の操作。計画を確認してからfingerprintを変えず適用する。空のcsvは対象アプリの取込形式を明示的に無効化する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "migrationBegin"
    },
    {
      "kind": "affected_tables",
      "checks": [
        "current_design_grants",
        "dependency_state"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "fingerprint",
  "identifier": "body.migration.migration_id + body.fingerprint",
  "safe_to_repeat": true,
  "result_check": "同じ主体・移行ID・本文・fingerprintで再送すると既存jobを返す。GET /v2/data-migrations/{migrationId} でも状態を確認。変更した入力やfingerprintでは再送しない。"
}

リクエスト本文

application/json

json{
  "type": "object",
  "properties": {
    "migration": {
      "type": "object",
      "properties": {
        "migration_id": {
          "type": "string",
          "format": "uuid"
        },
        "package": {
          "type": "object",
          "properties": {
            "manifest": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "version": {
                  "type": "integer",
                  "minimum": 1
                },
                "name": {
                  "type": "string"
                },
                "datasets": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "mode": {
                        "enum": [
                          "owned",
                          "shared"
                        ]
                      },
                      "definition": {
                        "$ref": "#/components/schemas/WorkspaceDefine"
                      }
                    },
                    "required": [
                      "id",
                      "mode",
                      "definition"
                    ],
                    "additionalProperties": false
                  },
                  "maxItems": 32,
                  "minItems": 1
                },
                "dependencies": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "maxItems": 32,
                  "uniqueItems": true
                }
              },
              "required": [
                "id",
                "version",
                "name",
                "datasets",
                "dependencies"
              ],
              "additionalProperties": false
            },
            "csv": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "collection": {
                    "type": "string"
                  },
                  "key_fields": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 64,
                    "minItems": 1,
                    "uniqueItems": true
                  }
                },
                "required": [
                  "collection",
                  "key_fields"
                ],
                "additionalProperties": false
              },
              "maxItems": 32
            },
            "requirements": {
              "type": "object",
              "properties": {
                "dependencies": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "min_version": {
                        "type": "integer",
                        "minimum": 1
                      }
                    },
                    "required": [
                      "id",
                      "min_version"
                    ],
                    "additionalProperties": false
                  },
                  "maxItems": 32
                },
                "integrations": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "maxItems": 16
                },
                "service_clients": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "maxItems": 16
                }
              },
              "required": [
                "dependencies",
                "integrations",
                "service_clients"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "manifest",
            "csv"
          ],
          "additionalProperties": false
        },
        "transforms": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "collection": {
                "type": "string"
              },
              "fields": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "target": {
                      "type": "string"
                    },
                    "source": {
                      "type": "string"
                    },
                    "convert": {
                      "enum": [
                        "identity",
                        "text",
                        "number",
                        "boolean"
                      ]
                    },
                    "default": {
                      "type": [
                        "string",
                        "number",
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "target",
                    "convert"
                  ],
                  "additionalProperties": false
                },
                "maxItems": 64
              }
            },
            "required": [
              "collection",
              "fields"
            ],
            "additionalProperties": false
          },
          "maxItems": 32
        },
        "reason": {
          "type": "string"
        }
      },
      "required": [
        "migration_id",
        "package",
        "transforms",
        "reason"
      ],
      "additionalProperties": false
    },
    "fingerprint": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    }
  },
  "required": [
    "migration",
    "fingerprint"
  ],
  "additionalProperties": false
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400確認済みデータ移行を開始での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401確認済みデータ移行を開始での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403確認済みデータ移行を開始での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404確認済みデータ移行を開始での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409確認済みデータ移行を開始での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413確認済みデータ移行を開始での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415確認済みデータ移行を開始での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422確認済みデータ移行を開始での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429確認済みデータ移行を開始での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500確認済みデータ移行を開始での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503確認済みデータ移行を開始での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/data-migrations/planアプリ定義・移行 · app-packages.migrationPlan

OpenAPI定義ありこの操作へのリンク

データ移行計画を作成

データ移行計画を作成。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 アプリとCSV契約・接続要件・移行の操作。計画を確認してからfingerprintを変えず適用する。空のcsvは対象アプリの取込形式を明示的に無効化する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "migrationPlan"
    },
    {
      "kind": "affected_tables",
      "checks": [
        "current_design_grants",
        "dependency_state"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

リクエスト本文

application/json

json{
  "type": "object",
  "properties": {
    "migration_id": {
      "type": "string",
      "format": "uuid"
    },
    "package": {
      "type": "object",
      "properties": {
        "manifest": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "version": {
              "type": "integer",
              "minimum": 1
            },
            "name": {
              "type": "string"
            },
            "datasets": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "mode": {
                    "enum": [
                      "owned",
                      "shared"
                    ]
                  },
                  "definition": {
                    "$ref": "#/components/schemas/WorkspaceDefine"
                  }
                },
                "required": [
                  "id",
                  "mode",
                  "definition"
                ],
                "additionalProperties": false
              },
              "maxItems": 32,
              "minItems": 1
            },
            "dependencies": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 32,
              "uniqueItems": true
            }
          },
          "required": [
            "id",
            "version",
            "name",
            "datasets",
            "dependencies"
          ],
          "additionalProperties": false
        },
        "csv": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "collection": {
                "type": "string"
              },
              "key_fields": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "maxItems": 64,
                "minItems": 1,
                "uniqueItems": true
              }
            },
            "required": [
              "collection",
              "key_fields"
            ],
            "additionalProperties": false
          },
          "maxItems": 32
        },
        "requirements": {
          "type": "object",
          "properties": {
            "dependencies": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "min_version": {
                    "type": "integer",
                    "minimum": 1
                  }
                },
                "required": [
                  "id",
                  "min_version"
                ],
                "additionalProperties": false
              },
              "maxItems": 32
            },
            "integrations": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 16
            },
            "service_clients": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              },
              "maxItems": 16
            }
          },
          "required": [
            "dependencies",
            "integrations",
            "service_clients"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "manifest",
        "csv"
      ],
      "additionalProperties": false
    },
    "transforms": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "collection": {
            "type": "string"
          },
          "fields": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "target": {
                  "type": "string"
                },
                "source": {
                  "type": "string"
                },
                "convert": {
                  "enum": [
                    "identity",
                    "text",
                    "number",
                    "boolean"
                  ]
                },
                "default": {
                  "type": [
                    "string",
                    "number",
                    "boolean",
                    "null"
                  ]
                }
              },
              "required": [
                "target",
                "convert"
              ],
              "additionalProperties": false
            },
            "maxItems": 64
          }
        },
        "required": [
          "collection",
          "fields"
        ],
        "additionalProperties": false
      },
      "maxItems": 32
    },
    "reason": {
      "type": "string"
    }
  },
  "required": [
    "migration_id",
    "package",
    "transforms",
    "reason"
  ],
  "additionalProperties": false
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400データ移行計画を作成での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401データ移行計画を作成での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403データ移行計画を作成での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404データ移行計画を作成での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409データ移行計画を作成での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413データ移行計画を作成での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415データ移行計画を作成での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422データ移行計画を作成での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429データ移行計画を作成での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500データ移行計画を作成での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503データ移行計画を作成での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/data-migrations/{migrationId}アプリ定義・移行 · app-packages.migrationGet

OpenAPI定義ありこの操作へのリンク

データ移行の進捗を取得

データ移行の進捗を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 アプリとCSV契約・接続要件・移行の操作。計画を確認してからfingerprintを変えず適用する。空のcsvは対象アプリの取込形式を明示的に無効化する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "migrationGet"
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
migrationId
path
必須
json{
  "type": "string",
  "format": "uuid"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400データ移行の進捗を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401データ移行の進捗を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403データ移行の進捗を取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404データ移行の進捗を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409データ移行の進捗を取得での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422データ移行の進捗を取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429データ移行の進捗を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500データ移行の進捗を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503データ移行の進捗を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/data-migrations/{migrationId}/cancelアプリ定義・移行 · app-packages.migrationCancel

OpenAPI定義ありこの操作へのリンク

データ移行を中止

データ移行を中止。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 アプリとCSV契約・接続要件・移行の操作。計画を確認してからfingerprintを変えず適用する。空のcsvは対象アプリの取込形式を明示的に無効化する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "migrationCancel"
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "version",
  "identifier": "body.revision",
  "safe_to_repeat": false,
  "result_check": "GET /v2/data-migrations/{migrationId} で現在版・状態・対象値を確認。版は競合検出であり応答再生キーではない。未確定ならrequest_idで照会し、最新版を自動採用して再送しない。"
}

パラメーター

名前 / 場所必須型・条件
migrationId
path
必須
json{
  "type": "string",
  "format": "uuid"
}

リクエスト本文

application/json

json{
  "type": "object",
  "properties": {
    "revision": {
      "type": "integer",
      "minimum": 1
    },
    "reason": {
      "type": "string"
    }
  },
  "required": [
    "revision",
    "reason"
  ],
  "additionalProperties": false
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400データ移行を中止での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401データ移行を中止での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403データ移行を中止での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404データ移行を中止での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409データ移行を中止での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413データ移行を中止での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415データ移行を中止での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422データ移行を中止での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429データ移行を中止での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500データ移行を中止での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503データ移行を中止での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/data-migrations/{migrationId}/commitアプリ定義・移行 · app-packages.migrationCommit

OpenAPI定義ありこの操作へのリンク

検証済みデータ移行を確定

検証済みデータ移行を確定。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 アプリとCSV契約・接続要件・移行の操作。計画を確認してからfingerprintを変えず適用する。空のcsvは対象アプリの取込形式を明示的に無効化する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "migrationCommit"
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
migrationId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}

リクエスト本文

application/json

json{
  "type": "object",
  "properties": {
    "revision": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "revision"
  ],
  "additionalProperties": false
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400検証済みデータ移行を確定での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401検証済みデータ移行を確定での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403検証済みデータ移行を確定での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404検証済みデータ移行を確定での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409検証済みデータ移行を確定での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412検証済みデータ移行を確定での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413検証済みデータ移行を確定での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415検証済みデータ移行を確定での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422検証済みデータ移行を確定での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428検証済みデータ移行を確定での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429検証済みデータ移行を確定での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500検証済みデータ移行を確定での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503検証済みデータ移行を確定での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/data-migrations/{migrationId}/nextアプリ定義・移行 · app-packages.migrationNext

OpenAPI定義ありこの操作へのリンク

データ移行を次の区間へ進める

データ移行を次の区間へ進める。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 アプリとCSV契約・接続要件・移行の操作。計画を確認してからfingerprintを変えず適用する。空のcsvは対象アプリの取込形式を明示的に無効化する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "migrationNext"
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
migrationId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}

リクエスト本文

application/json

json{
  "type": "object",
  "properties": {
    "revision": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "revision"
  ],
  "additionalProperties": false
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400データ移行を次の区間へ進めるでの拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401データ移行を次の区間へ進めるでの拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403データ移行を次の区間へ進めるでの拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404データ移行を次の区間へ進めるでの拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409データ移行を次の区間へ進めるでの拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412データ移行を次の区間へ進めるでの拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413データ移行を次の区間へ進めるでの拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415データ移行を次の区間へ進めるでの拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422データ移行を次の区間へ進めるでの拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428データ移行を次の区間へ進めるでの拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429データ移行を次の区間へ進めるでの拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500データ移行を次の区間へ進めるでの拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503データ移行を次の区間へ進めるでの拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/data-migrations/{migrationId}/previewアプリ定義・移行 · app-packages.migrationPreview

OpenAPI定義ありこの操作へのリンク

移行前後の行を比較

移行前後の行を比較。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 アプリとCSV契約・接続要件・移行の操作。計画を確認してからfingerprintを変えず適用する。空のcsvは対象アプリの取込形式を明示的に無効化する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "migrationPreview"
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
migrationId
path
必須
json{
  "type": "string",
  "format": "uuid"
}

リクエスト本文

application/json

json{
  "type": "object",
  "properties": {
    "collection": {
      "type": "string"
    },
    "after": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "collection"
  ],
  "additionalProperties": false
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400移行前後の行を比較での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401移行前後の行を比較での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403移行前後の行を比較での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404移行前後の行を比較での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409移行前後の行を比較での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413移行前後の行を比較での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415移行前後の行を比較での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422移行前後の行を比較での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429移行前後の行を比較での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500移行前後の行を比較での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503移行前後の行を比較での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/import-profilesアプリ定義・移行 · app-packages.profiles

OpenAPI定義ありこの操作へのリンク

本人が利用可能な取込形式を一覧取得

本人が利用可能な取込形式を一覧取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 アプリとCSV契約・接続要件・移行の操作。計画を確認してからfingerprintを変えず適用する。空のcsvは対象アプリの取込形式を明示的に無効化する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "import_grant",
      "checks": [
        "can_import",
        "current_schema",
        "read_write_fields"
      ],
      "action": "profiles"
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
limit
query
任意
json{
  "type": "integer",
  "minimum": 1,
  "maximum": 100
}
after
query
任意
json{
  "type": "string"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400本人が利用可能な取込形式を一覧取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401本人が利用可能な取込形式を一覧取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403本人が利用可能な取込形式を一覧取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404本人が利用可能な取込形式を一覧取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409本人が利用可能な取込形式を一覧取得での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422本人が利用可能な取込形式を一覧取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429本人が利用可能な取込形式を一覧取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500本人が利用可能な取込形式を一覧取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503本人が利用可能な取込形式を一覧取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/media/{collection}/{rowId}/{field}画像・添付 · media.0.list

OpenAPI定義ありこの操作へのリンク

行の画像・添付の一覧取得

行の画像・添付の一覧取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2行のasset_ref列へ関連付ける。親行・列・所属・原本保持方針を検査し、任意URLを受け付けない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_media_slot",
      "action": "list",
      "checks": [
        "parent_row",
        "asset_ref_field",
        "membership",
        "field_read_write",
        "current_parent_version",
        "storage_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
rowId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
field
path
必須
json{
  "type": "string"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400行の画像・添付の一覧取得での拒否・失敗: ASSET_INVALID, ASSET_INVALID_IMAGE, BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401行の画像・添付の一覧取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403行の画像・添付の一覧取得での拒否・失敗: ASSET_POLICY_DENIED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404行の画像・添付の一覧取得での拒否・失敗: ASSET_NOT_FOUND, ASSET_NO_THUMBNAIL, NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409行の画像・添付の一覧取得での拒否・失敗: ASSET_POLICY_CHANGED, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413行の画像・添付の一覧取得での拒否・失敗: ASSET_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422行の画像・添付の一覧取得での拒否・失敗: FIELD_NOT_ALLOWED, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429行の画像・添付の一覧取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500行の画像・添付の一覧取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503行の画像・添付の一覧取得での拒否・失敗: ASSET_BUSY, ASSET_DEPENDENCY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
507行の画像・添付の一覧取得での拒否・失敗: ASSET_QUOTA_EXCEEDED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/media/{collection}/{rowId}/{field}/policy画像・添付 · media.0.policy

OpenAPI定義ありこの操作へのリンク

行の画像・添付の保存・参照方針を取得

行の画像・添付の保存・参照方針を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2行のasset_ref列へ関連付ける。親行・列・所属・原本保持方針を検査し、任意URLを受け付けない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_media_slot",
      "action": "policy",
      "checks": [
        "parent_row",
        "asset_ref_field",
        "membership",
        "field_read_write",
        "current_parent_version",
        "storage_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
rowId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
field
path
必須
json{
  "type": "string"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · MediaPolicy
400行の画像・添付の保存・参照方針を取得での拒否・失敗: ASSET_INVALID, ASSET_INVALID_IMAGE, BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401行の画像・添付の保存・参照方針を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403行の画像・添付の保存・参照方針を取得での拒否・失敗: ASSET_POLICY_DENIED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404行の画像・添付の保存・参照方針を取得での拒否・失敗: ASSET_NOT_FOUND, ASSET_NO_THUMBNAIL, NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409行の画像・添付の保存・参照方針を取得での拒否・失敗: ASSET_POLICY_CHANGED, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413行の画像・添付の保存・参照方針を取得での拒否・失敗: ASSET_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422行の画像・添付の保存・参照方針を取得での拒否・失敗: FIELD_NOT_ALLOWED, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429行の画像・添付の保存・参照方針を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500行の画像・添付の保存・参照方針を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503行の画像・添付の保存・参照方針を取得での拒否・失敗: ASSET_BUSY, ASSET_DEPENDENCY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
507行の画像・添付の保存・参照方針を取得での拒否・失敗: ASSET_QUOTA_EXCEEDED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

DELETE/v2/media/{collection}/{rowId}/{field}/{assetId}画像・添付 · media.0.delete

OpenAPI定義ありこの操作へのリンク

行の画像・添付の関連付けを削除

行の画像・添付の関連付けを削除。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2行のasset_ref列へ関連付ける。親行・列・所属・原本保持方針を検査し、任意URLを受け付けない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_media_slot",
      "action": "delete",
      "checks": [
        "parent_row",
        "asset_ref_field",
        "membership",
        "field_read_write",
        "current_parent_version",
        "storage_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "header.If-Match",
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
rowId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
field
path
必須
json{
  "type": "string"
}
assetId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
If-Match
header
必須
json{
  "type": "string",
  "pattern": "^\"[0-9]{1,9}\"$"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[a-zA-Z0-9_-]{8,128}$"
}
X-Parent-Version
header
必須
json{
  "type": "integer",
  "minimum": 1,
  "description": "添付先の親行の現在version。表のschema_versionとは別。"
}
X-Schema-Version
header
必須
json{
  "type": "integer",
  "minimum": 1
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · Media
400行の画像・添付の関連付けを削除での拒否・失敗: ASSET_INVALID, ASSET_INVALID_IMAGE, BAD_REQUEST, ETAG_MALFORMED, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401行の画像・添付の関連付けを削除での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403行の画像・添付の関連付けを削除での拒否・失敗: ASSET_POLICY_DENIED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404行の画像・添付の関連付けを削除での拒否・失敗: ASSET_NOT_FOUND, ASSET_NO_THUMBNAIL, NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409行の画像・添付の関連付けを削除での拒否・失敗: ASSET_POLICY_CHANGED, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412行の画像・添付の関連付けを削除での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413行の画像・添付の関連付けを削除での拒否・失敗: ASSET_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422行の画像・添付の関連付けを削除での拒否・失敗: FIELD_NOT_ALLOWED, IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428行の画像・添付の関連付けを削除での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED, PRECONDITION_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429行の画像・添付の関連付けを削除での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500行の画像・添付の関連付けを削除での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503行の画像・添付の関連付けを削除での拒否・失敗: ASSET_BUSY, ASSET_DEPENDENCY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
507行の画像・添付の関連付けを削除での拒否・失敗: ASSET_QUOTA_EXCEEDED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/media/{collection}/{rowId}/{field}/{assetId}画像・添付 · media.0.get

OpenAPI定義ありこの操作へのリンク

行の画像・添付のメタデータを取得

行の画像・添付のメタデータを取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2行のasset_ref列へ関連付ける。親行・列・所属・原本保持方針を検査し、任意URLを受け付けない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_media_slot",
      "action": "get",
      "checks": [
        "parent_row",
        "asset_ref_field",
        "membership",
        "field_read_write",
        "current_parent_version",
        "storage_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
rowId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
field
path
必須
json{
  "type": "string"
}
assetId
path
必須
json{
  "type": "string",
  "format": "uuid"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · Media
400行の画像・添付のメタデータを取得での拒否・失敗: ASSET_INVALID, ASSET_INVALID_IMAGE, BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401行の画像・添付のメタデータを取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403行の画像・添付のメタデータを取得での拒否・失敗: ASSET_POLICY_DENIED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404行の画像・添付のメタデータを取得での拒否・失敗: ASSET_NOT_FOUND, ASSET_NO_THUMBNAIL, NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409行の画像・添付のメタデータを取得での拒否・失敗: ASSET_POLICY_CHANGED, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413行の画像・添付のメタデータを取得での拒否・失敗: ASSET_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422行の画像・添付のメタデータを取得での拒否・失敗: FIELD_NOT_ALLOWED, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429行の画像・添付のメタデータを取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500行の画像・添付のメタデータを取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503行の画像・添付のメタデータを取得での拒否・失敗: ASSET_BUSY, ASSET_DEPENDENCY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
507行の画像・添付のメタデータを取得での拒否・失敗: ASSET_QUOTA_EXCEEDED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/media/{collection}/{rowId}/{field}/{assetId}/content画像・添付 · media.0.content

OpenAPI定義ありこの操作へのリンク

行の画像・添付の原本を取得

行の画像・添付の原本を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2行のasset_ref列へ関連付ける。親行・列・所属・原本保持方針を検査し、任意URLを受け付けない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_media_slot",
      "action": "content",
      "checks": [
        "parent_row",
        "asset_ref_field",
        "membership",
        "field_read_write",
        "current_parent_version",
        "storage_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
rowId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
field
path
必須
json{
  "type": "string"
}
assetId
path
必須
json{
  "type": "string",
  "format": "uuid"
}

応答

HTTP内容 / データ型
200Verified bytes, no-store; content is attachment, thumbnail image/png
application/octet-stream · string
400行の画像・添付の原本を取得での拒否・失敗: ASSET_INVALID, ASSET_INVALID_IMAGE, BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401行の画像・添付の原本を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403行の画像・添付の原本を取得での拒否・失敗: ASSET_POLICY_DENIED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404行の画像・添付の原本を取得での拒否・失敗: ASSET_NOT_FOUND, ASSET_NO_THUMBNAIL, NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409行の画像・添付の原本を取得での拒否・失敗: ASSET_POLICY_CHANGED, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413行の画像・添付の原本を取得での拒否・失敗: ASSET_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422行の画像・添付の原本を取得での拒否・失敗: FIELD_NOT_ALLOWED, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429行の画像・添付の原本を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500行の画像・添付の原本を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503行の画像・添付の原本を取得での拒否・失敗: ASSET_BUSY, ASSET_DEPENDENCY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
507行の画像・添付の原本を取得での拒否・失敗: ASSET_QUOTA_EXCEEDED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

PUT/v2/media/{collection}/{rowId}/{field}/{assetId}/content画像・添付 · media.0.put

OpenAPI定義ありこの操作へのリンク

行の画像・添付の原本を保存

行の画像・添付の原本を保存。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2行のasset_ref列へ関連付ける。親行・列・所属・原本保持方針を検査し、任意URLを受け付けない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_media_slot",
      "action": "put",
      "checks": [
        "parent_row",
        "asset_ref_field",
        "membership",
        "field_read_write",
        "current_parent_version",
        "storage_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "header.If-Match",
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
rowId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
field
path
必須
json{
  "type": "string"
}
assetId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
If-Match
header
必須
json{
  "type": "string",
  "pattern": "^\"[0-9]{1,9}\"$"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[a-zA-Z0-9_-]{8,128}$"
}
X-Parent-Version
header
必須
json{
  "type": "integer",
  "minimum": 1,
  "description": "添付先の親行の現在version。表のschema_versionとは別。"
}
X-Schema-Version
header
必須
json{
  "type": "integer",
  "minimum": 1
}
X-Asset-Media-Type
header
必須
json{
  "enum": [
    "image/png",
    "image/jpeg",
    "image/webp",
    "application/pdf",
    "text/plain",
    "audio/mpeg",
    "audio/wav",
    "audio/ogg",
    "video/mp4",
    "video/webm"
  ]
}
X-Asset-Name
header
任意
json{
  "type": "string"
}

リクエスト本文

application/octet-stream

json{
  "type": "string",
  "format": "binary",
  "maxLength": 33554432
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · Media
400行の画像・添付の原本を保存での拒否・失敗: ASSET_INVALID, ASSET_INVALID_IMAGE, BAD_REQUEST, ETAG_MALFORMED, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401行の画像・添付の原本を保存での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403行の画像・添付の原本を保存での拒否・失敗: ASSET_POLICY_DENIED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404行の画像・添付の原本を保存での拒否・失敗: ASSET_NOT_FOUND, ASSET_NO_THUMBNAIL, NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409行の画像・添付の原本を保存での拒否・失敗: ASSET_POLICY_CHANGED, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412行の画像・添付の原本を保存での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413行の画像・添付の原本を保存での拒否・失敗: ASSET_TOO_LARGE, PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415行の画像・添付の原本を保存での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422行の画像・添付の原本を保存での拒否・失敗: FIELD_NOT_ALLOWED, IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428行の画像・添付の原本を保存での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED, PRECONDITION_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429行の画像・添付の原本を保存での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500行の画像・添付の原本を保存での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503行の画像・添付の原本を保存での拒否・失敗: ASSET_BUSY, ASSET_DEPENDENCY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
507行の画像・添付の原本を保存での拒否・失敗: ASSET_QUOTA_EXCEEDED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/media/{collection}/{rowId}/{field}/{assetId}/reference画像・添付 · media.0.reference

OpenAPI定義ありこの操作へのリンク

行の画像・添付の外部原本への参照を登録

行の画像・添付の外部原本への参照を登録。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2行のasset_ref列へ関連付ける。親行・列・所属・原本保持方針を検査し、任意URLを受け付けない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_media_slot",
      "action": "reference",
      "checks": [
        "parent_row",
        "asset_ref_field",
        "membership",
        "field_read_write",
        "current_parent_version",
        "storage_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "header.If-Match",
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
rowId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
field
path
必須
json{
  "type": "string"
}
assetId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
If-Match
header
必須
json{
  "type": "string",
  "pattern": "^\"[0-9]{1,9}\"$"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[a-zA-Z0-9_-]{8,128}$"
}
X-Parent-Version
header
必須
json{
  "type": "integer",
  "minimum": 1,
  "description": "添付先の親行の現在version。表のschema_versionとは別。"
}
X-Schema-Version
header
必須
json{
  "type": "integer",
  "minimum": 1
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/MediaReference"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · Media
400行の画像・添付の外部原本への参照を登録での拒否・失敗: ASSET_INVALID, ASSET_INVALID_IMAGE, BAD_REQUEST, ETAG_MALFORMED, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401行の画像・添付の外部原本への参照を登録での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403行の画像・添付の外部原本への参照を登録での拒否・失敗: ASSET_POLICY_DENIED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404行の画像・添付の外部原本への参照を登録での拒否・失敗: ASSET_NOT_FOUND, ASSET_NO_THUMBNAIL, NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409行の画像・添付の外部原本への参照を登録での拒否・失敗: ASSET_POLICY_CHANGED, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412行の画像・添付の外部原本への参照を登録での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413行の画像・添付の外部原本への参照を登録での拒否・失敗: ASSET_TOO_LARGE, PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415行の画像・添付の外部原本への参照を登録での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422行の画像・添付の外部原本への参照を登録での拒否・失敗: FIELD_NOT_ALLOWED, IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428行の画像・添付の外部原本への参照を登録での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED, PRECONDITION_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429行の画像・添付の外部原本への参照を登録での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500行の画像・添付の外部原本への参照を登録での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503行の画像・添付の外部原本への参照を登録での拒否・失敗: ASSET_BUSY, ASSET_DEPENDENCY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
507行の画像・添付の外部原本への参照を登録での拒否・失敗: ASSET_QUOTA_EXCEEDED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/media/{collection}/{rowId}/{field}/{assetId}/thumbnail画像・添付 · media.0.thumbnail

OpenAPI定義ありこの操作へのリンク

行の画像・添付のサムネイルを取得

行の画像・添付のサムネイルを取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2行のasset_ref列へ関連付ける。親行・列・所属・原本保持方針を検査し、任意URLを受け付けない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_media_slot",
      "action": "thumbnail",
      "checks": [
        "parent_row",
        "asset_ref_field",
        "membership",
        "field_read_write",
        "current_parent_version",
        "storage_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
rowId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
field
path
必須
json{
  "type": "string"
}
assetId
path
必須
json{
  "type": "string",
  "format": "uuid"
}

応答

HTTP内容 / データ型
200Verified bytes, no-store; content is attachment, thumbnail image/png
image/png · string
400行の画像・添付のサムネイルを取得での拒否・失敗: ASSET_INVALID, ASSET_INVALID_IMAGE, BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401行の画像・添付のサムネイルを取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403行の画像・添付のサムネイルを取得での拒否・失敗: ASSET_POLICY_DENIED, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404行の画像・添付のサムネイルを取得での拒否・失敗: ASSET_NOT_FOUND, ASSET_NO_THUMBNAIL, NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409行の画像・添付のサムネイルを取得での拒否・失敗: ASSET_POLICY_CHANGED, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413行の画像・添付のサムネイルを取得での拒否・失敗: ASSET_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422行の画像・添付のサムネイルを取得での拒否・失敗: FIELD_NOT_ALLOWED, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429行の画像・添付のサムネイルを取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500行の画像・添付のサムネイルを取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503行の画像・添付のサムネイルを取得での拒否・失敗: ASSET_BUSY, ASSET_DEPENDENCY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
507行の画像・添付のサムネイルを取得での拒否・失敗: ASSET_QUOTA_EXCEEDED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 提供中(環境による)

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

PUT/v2/number-series/{series}/{period}業務表・ケース v2 · workspace.series

OpenAPI定義ありこの操作へのリンク

ケースの採番設定を更新

ケースの採番設定を更新。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "series",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy",
        "can_design"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "header.If-Match",
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
series
path
必須
json{
  "type": "string"
}
period
path
必須
json{
  "type": "string"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}
If-Match
header
必須
json{
  "type": "string",
  "pattern": "^\"[0-9]+\"$"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/NumberSeries"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · NumberSeriesResult
400ケースの採番設定を更新での拒否・失敗: BAD_REQUEST, ETAG_MALFORMED, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401ケースの採番設定を更新での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403ケースの採番設定を更新での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404ケースの採番設定を更新での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409ケースの採番設定を更新での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412ケースの採番設定を更新での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413ケースの採番設定を更新での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415ケースの採番設定を更新での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422ケースの採番設定を更新での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428ケースの採番設定を更新での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED, PRECONDITION_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429ケースの採番設定を更新での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500ケースの採番設定を更新での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503ケースの採番設定を更新での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/organization/activity組織管理 · organization.activity

OpenAPI定義ありこの操作へのリンク

確定操作の履歴を検索

確定操作の履歴を検索。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 接続した環境に固定した管理情報のみ。業務値やIdP資格は返さない。不明な容量・契約指標はnullまたはnot_connected。設定変更は通知を送らない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "activity"
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

リクエスト本文

application/json

json{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "source": {
      "enum": [
        "apps",
        "data",
        "services",
        "permissions",
        "tables",
        "imports",
        "requirements",
        "migrations",
        "organization"
      ]
    },
    "actor": {
      "type": "string"
    },
    "target": {
      "type": "string"
    },
    "action": {
      "type": "string"
    },
    "since": {
      "type": "string",
      "format": "date-time"
    },
    "until": {
      "type": "string",
      "format": "date-time"
    },
    "cursor": {
      "type": "string",
      "maxLength": 4096
    }
  },
  "required": [],
  "additionalProperties": false
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400確定操作の履歴を検索での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401確定操作の履歴を検索での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403確定操作の履歴を検索での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404確定操作の履歴を検索での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409確定操作の履歴を検索での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413確定操作の履歴を検索での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415確定操作の履歴を検索での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422確定操作の履歴を検索での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429確定操作の履歴を検索での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500確定操作の履歴を検索での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503確定操作の履歴を検索での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/organization/overview組織管理 · organization.overview

OpenAPI定義ありこの操作へのリンク

利用環境の容量とアプリ件数を取得

利用環境の容量とアプリ件数を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 接続した環境に固定した管理情報のみ。業務値やIdP資格は返さない。不明な容量・契約指標はnullまたはnot_connected。設定変更は通知を送らない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "overview"
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400利用環境の容量とアプリ件数を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401利用環境の容量とアプリ件数を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403利用環境の容量とアプリ件数を取得での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404利用環境の容量とアプリ件数を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409利用環境の容量とアプリ件数を取得での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429利用環境の容量とアプリ件数を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500利用環境の容量とアプリ件数を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503利用環境の容量とアプリ件数を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/organization/settings組織管理 · organization.settings

OpenAPI定義ありこの操作へのリンク

組織設定を取得

組織設定を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 接続した環境に固定した管理情報のみ。業務値やIdP資格は返さない。不明な容量・契約指標はnullまたはnot_connected。設定変更は通知を送らない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "settings"
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400組織設定を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401組織設定を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403組織設定を取得での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404組織設定を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409組織設定を取得での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429組織設定を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500組織設定を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503組織設定を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/organization/settings/apply組織管理 · organization.settingsApply

OpenAPI定義ありこの操作へのリンク

確認済み組織設定を適用

確認済み組織設定を適用。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 接続した環境に固定した管理情報のみ。業務値やIdP資格は返さない。不明な容量・契約指標はnullまたはnot_connected。設定変更は通知を送らない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "settingsApply"
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}

リクエスト本文

application/json

json{
  "type": "object",
  "properties": {
    "change": {
      "type": "object",
      "properties": {
        "version": {
          "type": "integer",
          "minimum": 0
        },
        "values": {
          "type": "object",
          "properties": {
            "organization_name": {
              "type": "string",
              "maxLength": 120
            },
            "contact_note": {
              "type": "string",
              "maxLength": 500
            }
          },
          "required": [
            "organization_name",
            "contact_note"
          ],
          "additionalProperties": false
        },
        "reason": {
          "type": "string",
          "minLength": 1,
          "maxLength": 500
        }
      },
      "required": [
        "version",
        "values",
        "reason"
      ],
      "additionalProperties": false
    },
    "fingerprint": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    }
  },
  "required": [
    "change",
    "fingerprint"
  ],
  "additionalProperties": false
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400確認済み組織設定を適用での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401確認済み組織設定を適用での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403確認済み組織設定を適用での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404確認済み組織設定を適用での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409確認済み組織設定を適用での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412確認済み組織設定を適用での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413確認済み組織設定を適用での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415確認済み組織設定を適用での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422確認済み組織設定を適用での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428確認済み組織設定を適用での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429確認済み組織設定を適用での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500確認済み組織設定を適用での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503確認済み組織設定を適用での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/organization/settings/plan組織管理 · organization.settingsPlan

OpenAPI定義ありこの操作へのリンク

組織設定の変更を計画

組織設定の変更を計画。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 接続した環境に固定した管理情報のみ。業務値やIdP資格は返さない。不明な容量・契約指標はnullまたはnot_connected。設定変更は通知を送らない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "settingsPlan"
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

リクエスト本文

application/json

json{
  "type": "object",
  "properties": {
    "version": {
      "type": "integer",
      "minimum": 0
    },
    "values": {
      "type": "object",
      "properties": {
        "organization_name": {
          "type": "string",
          "maxLength": 120
        },
        "contact_note": {
          "type": "string",
          "maxLength": 500
        }
      },
      "required": [
        "organization_name",
        "contact_note"
      ],
      "additionalProperties": false
    },
    "reason": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    }
  },
  "required": [
    "version",
    "values",
    "reason"
  ],
  "additionalProperties": false
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400組織設定の変更を計画での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401組織設定の変更を計画での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403組織設定の変更を計画での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404組織設定の変更を計画での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409組織設定の変更を計画での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413組織設定の変更を計画での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415組織設定の変更を計画での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422組織設定の変更を計画での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429組織設定の変更を計画での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500組織設定の変更を計画での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503組織設定の変更を計画での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/people/{collection}/me人物・行アクセス · workspaceAccess.me

OpenAPI定義ありこの操作へのリンク

本人に対応する人物行を取得

本人に対応する人物行を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 管理権限は業務行の閲覧権を付与しない。人物対応は明示された本人IDと人物行を使い、名前や行所有者から推測しない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "person_resolution",
      "action": "me",
      "checks": [
        "enabled_root",
        "current_binding",
        "row_visibility",
        "membership"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · PersonSelf
400本人に対応する人物行を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401本人に対応する人物行を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403本人に対応する人物行を取得での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404本人に対応する人物行を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409本人に対応する人物行を取得での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422本人に対応する人物行を取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429本人に対応する人物行を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500本人に対応する人物行を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503本人に対応する人物行を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/row-trash-policy業務表・ケース v2 · workspace.trashPolicy

OpenAPI定義ありこの操作へのリンク

行ごみ箱の保持期間を確認

行ごみ箱の保持期間を確認。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "trashPolicy",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceTrashPolicy
400行ごみ箱の保持期間を確認での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401行ごみ箱の保持期間を確認での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403行ごみ箱の保持期間を確認での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404行ごみ箱の保持期間を確認での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409行ごみ箱の保持期間を確認での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422行ごみ箱の保持期間を確認での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429行ごみ箱の保持期間を確認での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500行ごみ箱の保持期間を確認での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503行ごみ箱の保持期間を確認での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/service-clientsサービス・権限 · service.list

OpenAPI定義ありこの操作へのリンク

サービス資格を一覧取得

サービス資格を一覧取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 管理操作は登録済みMFA本人、機械操作は専用audienceのservice資格を使う。人のJWTを機械経路へ流用しない。changeはversion必須で、rotateのみjwkが必要。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "list"
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
limit
query
任意
json{
  "type": "integer",
  "minimum": 1,
  "maximum": 100
}
after
query
任意
json{
  "type": "string",
  "format": "uuid"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · AccessClients
400サービス資格を一覧取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401サービス資格を一覧取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403サービス資格を一覧取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404サービス資格を一覧取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409サービス資格を一覧取得での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422サービス資格を一覧取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429サービス資格を一覧取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500サービス資格を一覧取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503サービス資格を一覧取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/service-clientsサービス・権限 · service.create

OpenAPI定義ありこの操作へのリンク

サービス資格を申請

サービス資格を申請。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 管理操作は登録済みMFA本人、機械操作は専用audienceのservice資格を使う。人のJWTを機械経路へ流用しない。changeはversion必須で、rotateのみjwkが必要。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator"
      ],
      "action": "create"
    },
    {
      "kind": "service_client_authority",
      "any_of": [
        "managed_client_and_manage_access",
        "legacy_client_and_legacy_administrator_scope"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
Idempotency-Key
header
必須
json{
  "type": "string",
  "format": "uuid"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/ServiceApplication"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · ServiceClient
400サービス資格を申請での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401サービス資格を申請での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403サービス資格を申請での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404サービス資格を申請での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409サービス資格を申請での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412サービス資格を申請での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413サービス資格を申請での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415サービス資格を申請での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422サービス資格を申請での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428サービス資格を申請での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429サービス資格を申請での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500サービス資格を申請での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503サービス資格を申請での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

DELETE/v2/service-clients/{clientId}サービス・権限 · service.delete

OpenAPI定義ありこの操作へのリンク

サービス資格の利用を終了

サービス資格の利用を終了。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 管理操作は登録済みMFA本人、機械操作は専用audienceのservice資格を使う。人のJWTを機械経路へ流用しない。changeはversion必須で、rotateのみjwkが必要。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "delete"
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "version",
  "identifier": "body.version",
  "safe_to_repeat": false,
  "result_check": "GET /v2/service-clients/{clientId} で現在版・状態・対象値を確認。版は競合検出であり応答再生キーではない。未確定ならrequest_idで照会し、最新版を自動採用して再送しない。"
}

パラメーター

名前 / 場所必須型・条件
clientId
path
必須
json{
  "type": "string",
  "format": "uuid"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/AccessDelete"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · ServiceClient
400サービス資格の利用を終了での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401サービス資格の利用を終了での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403サービス資格の利用を終了での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404サービス資格の利用を終了での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409サービス資格の利用を終了での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412サービス資格の利用を終了での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413サービス資格の利用を終了での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415サービス資格の利用を終了での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422サービス資格の利用を終了での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428サービス資格の利用を終了での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429サービス資格の利用を終了での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500サービス資格の利用を終了での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503サービス資格の利用を終了での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/service-clients/{clientId}サービス・権限 · service.get

OpenAPI定義ありこの操作へのリンク

サービス資格の状態と版を取得

サービス資格の状態と版を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 管理操作は登録済みMFA本人、機械操作は専用audienceのservice資格を使う。人のJWTを機械経路へ流用しない。changeはversion必須で、rotateのみjwkが必要。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator"
      ],
      "action": "get"
    },
    {
      "kind": "service_client_authority",
      "any_of": [
        "managed_client_and_manage_access",
        "legacy_client_and_legacy_administrator_scope"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
clientId
path
必須
json{
  "type": "string",
  "format": "uuid"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · ServiceClient
400サービス資格の状態と版を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401サービス資格の状態と版を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403サービス資格の状態と版を取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404サービス資格の状態と版を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409サービス資格の状態と版を取得での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422サービス資格の状態と版を取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429サービス資格の状態と版を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500サービス資格の状態と版を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503サービス資格の状態と版を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

PUT/v2/service-clients/{clientId}/permissionsサービス・権限 · service.permissions

OpenAPI定義ありこの操作へのリンク

同じサービスIDの許可範囲を更新

同じサービスIDの許可範囲を更新。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 管理操作は登録済みMFA本人、機械操作は専用audienceのservice資格を使う。人のJWTを機械経路へ流用しない。changeはversion必須で、rotateのみjwkが必要。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ],
      "action": "permissions"
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "version",
  "identifier": "body.version",
  "safe_to_repeat": false,
  "result_check": "GET /v2/service-clients/{clientId} で現在版・状態・対象値を確認。版は競合検出であり応答再生キーではない。未確定ならrequest_idで照会し、最新版を自動採用して再送しない。"
}

パラメーター

名前 / 場所必須型・条件
clientId
path
必須
json{
  "type": "string",
  "format": "uuid"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/AccessPolicy"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · ServiceClient
400同じサービスIDの許可範囲を更新での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401同じサービスIDの許可範囲を更新での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403同じサービスIDの許可範囲を更新での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404同じサービスIDの許可範囲を更新での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409同じサービスIDの許可範囲を更新での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412同じサービスIDの許可範囲を更新での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413同じサービスIDの許可範囲を更新での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415同じサービスIDの許可範囲を更新での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422同じサービスIDの許可範囲を更新での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428同じサービスIDの許可範囲を更新での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429同じサービスIDの許可範囲を更新での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500同じサービスIDの許可範囲を更新での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503同じサービスIDの許可範囲を更新での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/service-clients/{clientId}/{action}サービス・権限 · service.change

OpenAPI定義ありこの操作へのリンク

サービス資格の承認・登録・更新・停止・再開・失効

サービス資格の承認・登録・更新・停止・再開・失効。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 管理操作は登録済みMFA本人、機械操作は専用audienceのservice資格を使う。人のJWTを機械経路へ流用しない。changeはversion必須で、rotateのみjwkが必要。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "management",
      "all_of": [
        "service_administrator"
      ],
      "action": "change"
    },
    {
      "kind": "service_client_authority",
      "any_of": [
        "managed_client_and_manage_access",
        "legacy_client_and_legacy_administrator_scope"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "version",
  "identifier": "body.version",
  "safe_to_repeat": false,
  "result_check": "GET /v2/service-clients/{clientId} で現在版・状態・対象値を確認。版は競合検出であり応答再生キーではない。未確定ならrequest_idで照会し、最新版を自動採用して再送しない。"
}

パラメーター

名前 / 場所必須型・条件
clientId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
action
path
必須
json{
  "enum": [
    "approve",
    "provision",
    "rotate",
    "suspend",
    "resume",
    "revoke"
  ]
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/ServiceChange"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · ServiceClient
400サービス資格の承認・登録・更新・停止・再開・失効での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401サービス資格の承認・登録・更新・停止・再開・失効での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403サービス資格の承認・登録・更新・停止・再開・失効での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404サービス資格の承認・登録・更新・停止・再開・失効での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409サービス資格の承認・登録・更新・停止・再開・失効での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412サービス資格の承認・登録・更新・停止・再開・失効での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413サービス資格の承認・登録・更新・停止・再開・失効での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415サービス資格の承認・登録・更新・停止・再開・失効での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422サービス資格の承認・登録・更新・停止・再開・失効での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428サービス資格の承認・登録・更新・停止・再開・失効での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429サービス資格の承認・登録・更新・停止・再開・失効での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500サービス資格の承認・登録・更新・停止・再開・失効での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503サービス資格の承認・登録・更新・停止・再開・失効での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/service/activateサービス・権限 · service.activate

OpenAPI定義ありこの操作へのリンク

サービス自身が鍵所持を証明して有効化

サービス自身が鍵所持を証明して有効化。登録されたserviceのJWT・現在の状態・対象表/列/行/CRUD/期限を検査する。人のJWTは使えない。 管理操作は登録済みMFA本人、機械操作は専用audienceのservice資格を使う。人のJWTを機械経路へ流用しない。changeはversion必須で、rotateのみjwkが必要。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "service"
  ],
  "authentication": "dedicated_service_jwt",
  "mfa": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "resource_checks": [
    {
      "kind": "service_grant",
      "operation": "activate",
      "checks": [
        "current_state",
        "expiry",
        "audience",
        "key_binding"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "none",
  "safe_to_repeat": false,
  "result_check": "GET /v2/service-clients/{clientId}(人の管理権限で照合) で状態を確認。専用の再送識別子・応答再生保証なし。"
}

リクエスト本文

application/json

json{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400サービス自身が鍵所持を証明して有効化での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401サービス自身が鍵所持を証明して有効化での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403サービス自身が鍵所持を証明して有効化での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404サービス自身が鍵所持を証明して有効化での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409サービス自身が鍵所持を証明して有効化での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413サービス自身が鍵所持を証明して有効化での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415サービス自身が鍵所持を証明して有効化での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422サービス自身が鍵所持を証明して有効化での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429サービス自身が鍵所持を証明して有効化での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500サービス自身が鍵所持を証明して有効化での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503サービス自身が鍵所持を証明して有効化での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 同時2要求。client単位rpm=1..120(承認設定)。上限に達したら429。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/service/tables/{collection}サービス・権限 · service.metadata

OpenAPI定義ありこの操作へのリンク

サービスに許可された表と列の情報を取得

サービスに許可された表と列の情報を取得。登録されたserviceのJWT・現在の状態・対象表/列/行/CRUD/期限を検査する。人のJWTは使えない。 管理操作は登録済みMFA本人、機械操作は専用audienceのservice資格を使う。人のJWTを機械経路へ流用しない。changeはversion必須で、rotateのみjwkが必要。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "service"
  ],
  "authentication": "dedicated_service_jwt",
  "mfa": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "resource_checks": [
    {
      "kind": "service_grant",
      "operation": "metadata",
      "checks": [
        "current_state",
        "expiry",
        "audience",
        "key_binding",
        "collection",
        "columns",
        "row_filter",
        "crud",
        "schema_version"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · ServiceTableMetadata
400サービスに許可された表と列の情報を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401サービスに許可された表と列の情報を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403サービスに許可された表と列の情報を取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404サービスに許可された表と列の情報を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409サービスに許可された表と列の情報を取得での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422サービスに許可された表と列の情報を取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429サービスに許可された表と列の情報を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500サービスに許可された表と列の情報を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503サービスに許可された表と列の情報を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 同時2要求。client単位rpm=1..120(承認設定)。上限に達したら429。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/service/tables/{collection}/batchサービス・権限 · service.batch

OpenAPI定義ありこの操作へのリンク

サービスの許可範囲で行を一括変更

サービスの許可範囲で行を一括変更。登録されたserviceのJWT・現在の状態・対象表/列/行/CRUD/期限を検査する。人のJWTは使えない。 管理操作は登録済みMFA本人、機械操作は専用audienceのservice資格を使う。人のJWTを機械経路へ流用しない。changeはversion必須で、rotateのみjwkが必要。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "service"
  ],
  "authentication": "dedicated_service_jwt",
  "mfa": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "resource_checks": [
    {
      "kind": "service_grant",
      "operation": "batch",
      "checks": [
        "current_state",
        "expiry",
        "audience",
        "key_binding",
        "collection",
        "columns",
        "row_filter",
        "crud",
        "schema_version"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[A-Za-z0-9_-]{8,128}$"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/ServiceBatch"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · ServiceBatchResult
400サービスの許可範囲で行を一括変更での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401サービスの許可範囲で行を一括変更での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403サービスの許可範囲で行を一括変更での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404サービスの許可範囲で行を一括変更での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409サービスの許可範囲で行を一括変更での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412サービスの許可範囲で行を一括変更での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413サービスの許可範囲で行を一括変更での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415サービスの許可範囲で行を一括変更での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422サービスの許可範囲で行を一括変更での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428サービスの許可範囲で行を一括変更での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429サービスの許可範囲で行を一括変更での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500サービスの許可範囲で行を一括変更での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503サービスの許可範囲で行を一括変更での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 同時2要求。client単位rpm=1..120(承認設定)。上限に達したら429。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/service/tables/{collection}/importサービス・権限 · service.import

OpenAPI定義ありこの操作へのリンク

サービスの許可範囲でCSV取込区間を原子的に反映

サービスの許可範囲でCSV取込区間を原子的に反映。登録されたserviceのJWT・現在の状態・対象表/列/行/CRUD/期限を検査する。人のJWTは使えない。 管理操作は登録済みMFA本人、機械操作は専用audienceのservice資格を使う。人のJWTを機械経路へ流用しない。changeはversion必須で、rotateのみjwkが必要。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "service"
  ],
  "authentication": "dedicated_service_jwt",
  "mfa": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "resource_checks": [
    {
      "kind": "service_grant",
      "operation": "import",
      "checks": [
        "current_state",
        "expiry",
        "audience",
        "key_binding",
        "collection",
        "columns",
        "row_filter",
        "crud",
        "schema_version"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[A-Za-z0-9_-]{8,128}$"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/ServiceImport"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · ServiceImportResult
400サービスの許可範囲でCSV取込区間を原子的に反映での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401サービスの許可範囲でCSV取込区間を原子的に反映での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403サービスの許可範囲でCSV取込区間を原子的に反映での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404サービスの許可範囲でCSV取込区間を原子的に反映での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409サービスの許可範囲でCSV取込区間を原子的に反映での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412サービスの許可範囲でCSV取込区間を原子的に反映での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413サービスの許可範囲でCSV取込区間を原子的に反映での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415サービスの許可範囲でCSV取込区間を原子的に反映での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422サービスの許可範囲でCSV取込区間を原子的に反映での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428サービスの許可範囲でCSV取込区間を原子的に反映での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429サービスの許可範囲でCSV取込区間を原子的に反映での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500サービスの許可範囲でCSV取込区間を原子的に反映での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503サービスの許可範囲でCSV取込区間を原子的に反映での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 同時2要求。client単位rpm=1..120(承認設定)。上限に達したら429。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/service/tables/{collection}/queryサービス・権限 · service.query

OpenAPI定義ありこの操作へのリンク

サービスの許可範囲で行を取得

サービスの許可範囲で行を取得。登録されたserviceのJWT・現在の状態・対象表/列/行/CRUD/期限を検査する。人のJWTは使えない。 管理操作は登録済みMFA本人、機械操作は専用audienceのservice資格を使う。人のJWTを機械経路へ流用しない。changeはversion必須で、rotateのみjwkが必要。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "service"
  ],
  "authentication": "dedicated_service_jwt",
  "mfa": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "resource_checks": [
    {
      "kind": "service_grant",
      "operation": "query",
      "checks": [
        "current_state",
        "expiry",
        "audience",
        "key_binding",
        "collection",
        "columns",
        "row_filter",
        "crud",
        "schema_version"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/ServiceQuery"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · ServiceQueryResult
400サービスの許可範囲で行を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401サービスの許可範囲で行を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403サービスの許可範囲で行を取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404サービスの許可範囲で行を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409サービスの許可範囲で行を取得での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413サービスの許可範囲で行を取得での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415サービスの許可範囲で行を取得での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422サービスの許可範囲で行を取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429サービスの許可範囲で行を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500サービスの許可範囲で行を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503サービスの許可範囲で行を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 同時2要求。client単位rpm=1..120(承認設定)。上限に達したら429。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/session/logoutセッション · identity.logoutSelf

OpenAPI定義ありこの操作へのリンク

本人セッションを失効

本人セッションを失効。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 本人と現在セッションの境界を維持する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "logout_session_binding",
  "mfa": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "resource_checks": [
    {
      "kind": "self_session",
      "checks": [
        "issuer",
        "subject",
        "client_id",
        "sid",
        "attempt_id"
      ]
    }
  ],
  "note": "失効済みセッションも同じattempt_idの受領確認に使用できる専用経路。通常APIの有効セッション条件とは別。"
}

再送と結果確認

json{
  "effect": "write",
  "mode": "attempt_id",
  "identifier": "body.attempt_id",
  "safe_to_repeat": true,
  "result_check": "同じセッションとattempt_idで再送し失効受領を確認する。別attempt_idを自動発行しない。"
}

リクエスト本文

application/json

json{
  "type": "object",
  "properties": {
    "attempt_id": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "attempt_id"
  ],
  "additionalProperties": false
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · object
400本人セッションを失効での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401本人セッションを失効での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403本人セッションを失効での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404本人セッションを失効での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409本人セッションを失効での拒否・失敗: LOCK_BUSY。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412本人セッションを失効での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413本人セッションを失効での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415本人セッションを失効での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422本人セッションを失効での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429本人セッションを失効での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500本人セッションを失効での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503本人セッションを失効での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/table-trash業務表・ケース v2 · workspace.tableTrash

OpenAPI定義ありこの操作へのリンク

ごみ箱の表を一覧取得

ごみ箱の表を一覧取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "tableTrash",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy"
      ]
    },
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
limit
query
任意
json{
  "type": "integer",
  "minimum": 1,
  "maximum": 100
}
after
query
任意
json{
  "type": "string"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceTableTrash
400ごみ箱の表を一覧取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401ごみ箱の表を一覧取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403ごみ箱の表を一覧取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404ごみ箱の表を一覧取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409ごみ箱の表を一覧取得での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422ごみ箱の表を一覧取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429ごみ箱の表を一覧取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500ごみ箱の表を一覧取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503ごみ箱の表を一覧取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/table-trash-policy業務表・ケース v2 · workspace.tableTrashPolicy

OpenAPI定義ありこの操作へのリンク

表ごみ箱の保持期間を確認

表ごみ箱の保持期間を確認。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "tableTrashPolicy",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy"
      ]
    },
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceTrashPolicy
400表ごみ箱の保持期間を確認での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401表ごみ箱の保持期間を確認での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403表ごみ箱の保持期間を確認での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404表ごみ箱の保持期間を確認での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409表ごみ箱の保持期間を確認での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422表ごみ箱の保持期間を確認での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429表ごみ箱の保持期間を確認での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500表ごみ箱の保持期間を確認での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503表ごみ箱の保持期間を確認での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/tables業務表・ケース v2 · workspace.catalog

OpenAPI定義ありこの操作へのリンク

v2の利用可能な表を一覧取得

v2の利用可能な表を一覧取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "visible_tables",
      "checks": [
        "current_grant",
        "expiry",
        "lifecycle_visibility"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
limit
query
任意
json{
  "type": "integer",
  "minimum": 1,
  "maximum": 100
}
after
query
任意
json{
  "type": "string"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceCatalog
400v2の利用可能な表を一覧取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401v2の利用可能な表を一覧取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403v2の利用可能な表を一覧取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404v2の利用可能な表を一覧取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409v2の利用可能な表を一覧取得での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422v2の利用可能な表を一覧取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429v2の利用可能な表を一覧取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500v2の利用可能な表を一覧取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503v2の利用可能な表を一覧取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/tables/{collection}業務表・ケース v2 · workspace.definition

OpenAPI定義ありこの操作へのリンク

v2の表定義と現在の列権限を取得

v2の表定義と現在の列権限を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "definition",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceDefinition
400v2の表定義と現在の列権限を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401v2の表定義と現在の列権限を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403v2の表定義と現在の列権限を取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404v2の表定義と現在の列権限を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409v2の表定義と現在の列権限を取得での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422v2の表定義と現在の列権限を取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429v2の表定義と現在の列権限を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500v2の表定義と現在の列権限を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503v2の表定義と現在の列権限を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

PUT/v2/tables/{collection}業務表・ケース v2 · workspace.define

OpenAPI定義ありこの操作へのリンク

v2の表定義を作成・更新

v2の表定義を作成・更新。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "define",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy",
        "can_design"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "header.If-Match",
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}
If-Match
header
必須
json{
  "type": "string",
  "pattern": "^\"[0-9]+\"$"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/WorkspaceDefine"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceDefineResult
400v2の表定義を作成・更新での拒否・失敗: BAD_REQUEST, ETAG_MALFORMED, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401v2の表定義を作成・更新での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403v2の表定義を作成・更新での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404v2の表定義を作成・更新での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409v2の表定義を作成・更新での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412v2の表定義を作成・更新での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413v2の表定義を作成・更新での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415v2の表定義を作成・更新での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422v2の表定義を作成・更新での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428v2の表定義を作成・更新での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED, PRECONDITION_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429v2の表定義を作成・更新での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500v2の表定義を作成・更新での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503v2の表定義を作成・更新での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/tables/{collection}/access関連・所属 · workspace.socket.policy.get

OpenAPI定義ありこの操作へのリンク

表の関連・所属方式を取得

表の関連・所属方式を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "socket.policy.get",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceAccessResult
400表の関連・所属方式を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401表の関連・所属方式を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403表の関連・所属方式を取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404表の関連・所属方式を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409表の関連・所属方式を取得での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422表の関連・所属方式を取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429表の関連・所属方式を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500表の関連・所属方式を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503表の関連・所属方式を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

PUT/v2/tables/{collection}/access関連・所属 · workspace.socket.policy.put

OpenAPI定義ありこの操作へのリンク

表の関連・所属方式を設定

表の関連・所属方式を設定。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "socket.policy.put",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "header.If-Match",
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}
If-Match
header
必須
json{
  "type": "string",
  "pattern": "^\"[0-9]+\"$"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/WorkspaceAccess"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceSocketVersion
400表の関連・所属方式を設定での拒否・失敗: BAD_REQUEST, ETAG_MALFORMED, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401表の関連・所属方式を設定での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403表の関連・所属方式を設定での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404表の関連・所属方式を設定での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409表の関連・所属方式を設定での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412表の関連・所属方式を設定での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413表の関連・所属方式を設定での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415表の関連・所属方式を設定での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422表の関連・所属方式を設定での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428表の関連・所属方式を設定での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED, PRECONDITION_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429表の関連・所属方式を設定での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500表の関連・所属方式を設定での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503表の関連・所属方式を設定での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/tables/{collection}/aggregate業務表・ケース v2 · workspace.aggregate

OpenAPI定義ありこの操作へのリンク

v2の行をグループ集計

v2の行をグループ集計。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "aggregate",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/WorkspaceAggregate"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceAggregateResult
400v2の行をグループ集計での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401v2の行をグループ集計での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403v2の行をグループ集計での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404v2の行をグループ集計での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409v2の行をグループ集計での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413v2の行をグループ集計での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415v2の行をグループ集計での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422v2の行をグループ集計での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429v2の行をグループ集計での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500v2の行をグループ集計での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503v2の行をグループ集計での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/tables/{collection}/batch業務表・ケース v2 · workspace.batch

OpenAPI定義ありこの操作へのリンク

v2の行を一括変更

v2の行を一括変更。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "batch",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy",
        "per_action_can_close_and_delete_scope"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/WorkspaceBatch"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceBatchResult
400v2の行を一括変更での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401v2の行を一括変更での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403v2の行を一括変更での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404v2の行を一括変更での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409v2の行を一括変更での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412v2の行を一括変更での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413v2の行を一括変更での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415v2の行を一括変更での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422v2の行を一括変更での拒否・失敗: IDEMPOTENCY_MISMATCH, INVALID_TRANSITION, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428v2の行を一括変更での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429v2の行を一括変更での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500v2の行を一括変更での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503v2の行を一括変更での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/tables/{collection}/changes業務表・ケース v2 · workspace.changes

OpenAPI定義ありこの操作へのリンク

v2の可視範囲の変更版を取得

v2の可視範囲の変更版を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "changes",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceChanges
400v2の可視範囲の変更版を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401v2の可視範囲の変更版を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403v2の可視範囲の変更版を取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404v2の可視範囲の変更版を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409v2の可視範囲の変更版を取得での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422v2の可視範囲の変更版を取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429v2の可視範囲の変更版を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500v2の可視範囲の変更版を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503v2の可視範囲の変更版を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/tables/{collection}/events関連・所属 · workspace.socket.events

OpenAPI定義ありこの操作へのリンク

関連表の変更イベントを取得

関連表の変更イベントを取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "socket.events",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/WorkspaceEvents"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceEventsResult
400関連表の変更イベントを取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401関連表の変更イベントを取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403関連表の変更イベントを取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404関連表の変更イベントを取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409関連表の変更イベントを取得での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413関連表の変更イベントを取得での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415関連表の変更イベントを取得での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422関連表の変更イベントを取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429関連表の変更イベントを取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500関連表の変更イベントを取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503関連表の変更イベントを取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/tables/{collection}/export業務表・ケース v2 · workspace.export

OpenAPI定義ありこの操作へのリンク

v2のCSVを取得

v2のCSVを取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "export",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy",
        "export_role"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/Query"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceExport
400v2のCSVを取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401v2のCSVを取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403v2のCSVを取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404v2のCSVを取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409v2のCSVを取得での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413v2のCSVを取得での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415v2のCSVを取得での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422v2のCSVを取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429v2のCSVを取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500v2のCSVを取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503v2のCSVを取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/tables/{collection}/export-records業務表・ケース v2 · workspace.exportRecords

OpenAPI定義ありこの操作へのリンク

v2の出力権限でJSON行を取得

v2の出力権限でJSON行を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "exportRecords",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy",
        "export_role"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/Query"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceQueryResult
400v2の出力権限でJSON行を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401v2の出力権限でJSON行を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403v2の出力権限でJSON行を取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404v2の出力権限でJSON行を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409v2の出力権限でJSON行を取得での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413v2の出力権限でJSON行を取得での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415v2の出力権限でJSON行を取得での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422v2の出力権限でJSON行を取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429v2の出力権限でJSON行を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500v2の出力権限でJSON行を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503v2の出力権限でJSON行を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/tables/{collection}/import業務表・ケース v2 · workspace.import

OpenAPI定義ありこの操作へのリンク

v2の型付き行を一括取込

v2の型付き行を一括取込。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "import",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy",
        "can_import"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/WorkspaceBatch"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceBatchResult
400v2の型付き行を一括取込での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401v2の型付き行を一括取込での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403v2の型付き行を一括取込での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404v2の型付き行を一括取込での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409v2の型付き行を一括取込での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412v2の型付き行を一括取込での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413v2の型付き行を一括取込での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415v2の型付き行を一括取込での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422v2の型付き行を一括取込での拒否・失敗: IDEMPOTENCY_MISMATCH, INVALID_TRANSITION, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428v2の型付き行を一括取込での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429v2の型付き行を一括取込での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500v2の型付き行を一括取込での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503v2の型付き行を一括取込での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/tables/{collection}/import-profileアプリ定義・移行 · app-packages.import

OpenAPI定義ありこの操作へのリンク

版付きCSV契約で行を取込

版付きCSV契約で行を取込。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 アプリとCSV契約・接続要件・移行の操作。計画を確認してからfingerprintを変えず適用する。空のcsvは対象アプリの取込形式を明示的に無効化する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "import_grant",
      "checks": [
        "can_import",
        "current_schema",
        "read_write_fields",
        "expected_actor",
        "contract_id"
      ],
      "action": "import"
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}

リクエスト本文

application/json

json{
  "type": "object",
  "properties": {
    "schema_version": {
      "type": "integer",
      "minimum": 1
    },
    "expected_actor": {
      "type": "string",
      "format": "uuid",
      "description": "Optional compare-only precondition on the authenticated internal actor. Does not set or transfer ownership. Required by the resumable import SDK."
    },
    "operations": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "action": {
                "const": "create"
              },
              "values": {
                "type": "object",
                "additionalProperties": {
                  "type": [
                    "string",
                    "number",
                    "boolean",
                    "null"
                  ]
                },
                "maxProperties": 64
              },
              "status": {
                "enum": [
                  "draft",
                  "committed"
                ]
              }
            },
            "required": [
              "action",
              "values"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "action": {
                "const": "update"
              },
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "変更対象の既存行のUUID。行の取得・一覧応答のidを使用する。expected_actor(呼出本人ID)とは別。"
              },
              "version": {
                "type": "integer",
                "minimum": 1
              },
              "values": {
                "type": "object",
                "additionalProperties": {
                  "type": [
                    "string",
                    "number",
                    "boolean",
                    "null"
                  ]
                },
                "maxProperties": 64
              },
              "status": {
                "enum": [
                  "draft",
                  "committed"
                ]
              }
            },
            "required": [
              "action",
              "id",
              "version",
              "values"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "action": {
                "const": "delete"
              },
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "変更対象の既存行のUUID。行の取得・一覧応答のidを使用する。expected_actor(呼出本人ID)とは別。"
              },
              "version": {
                "type": "integer",
                "minimum": 1
              },
              "reason": {
                "type": "string",
                "minLength": 1,
                "maxLength": 500
              }
            },
            "required": [
              "action",
              "id",
              "version"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "action": {
                "enum": [
                  "close",
                  "reopen"
                ]
              },
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "変更対象の既存行のUUID。行の取得・一覧応答のidを使用する。expected_actor(呼出本人ID)とは別。"
              },
              "version": {
                "type": "integer",
                "minimum": 1
              },
              "reason": {
                "type": "string",
                "minLength": 1,
                "maxLength": 500
              }
            },
            "required": [
              "action",
              "id",
              "version",
              "reason"
            ],
            "additionalProperties": false
          }
        ]
      },
      "maxItems": 100,
      "minItems": 1
    },
    "contract_id": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "schema_version",
    "operations",
    "expected_actor",
    "contract_id"
  ],
  "additionalProperties": false
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceBatchResult
400版付きCSV契約で行を取込での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401版付きCSV契約で行を取込での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403版付きCSV契約で行を取込での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404版付きCSV契約で行を取込での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409版付きCSV契約で行を取込での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412版付きCSV契約で行を取込での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413版付きCSV契約で行を取込での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415版付きCSV契約で行を取込での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422版付きCSV契約で行を取込での拒否・失敗: IDEMPOTENCY_MISMATCH, INVALID_TRANSITION, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428版付きCSV契約で行を取込での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429版付きCSV契約で行を取込での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500版付きCSV契約で行を取込での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503版付きCSV契約で行を取込での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/tables/{collection}/lifecycle業務表・ケース v2 · workspace.tableLifecycle

OpenAPI定義ありこの操作へのリンク

表の状態と依存先を取得

表の状態と依存先を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "tableLifecycle",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy"
      ]
    },
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceTableLifecycle
400表の状態と依存先を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401表の状態と依存先を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403表の状態と依存先を取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404表の状態と依存先を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409表の状態と依存先を取得での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422表の状態と依存先を取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429表の状態と依存先を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500表の状態と依存先を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503表の状態と依存先を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/tables/{collection}/lifecycle業務表・ケース v2 · workspace.tableTransition

OpenAPI定義ありこの操作へのリンク

表をごみ箱へ移動・復元

表をごみ箱へ移動・復元。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "tableTransition",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy"
      ]
    },
    {
      "kind": "management",
      "all_of": [
        "service_administrator",
        "manage_access"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/WorkspaceTableTransition"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceTableLifecycle
400表をごみ箱へ移動・復元での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401表をごみ箱へ移動・復元での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403表をごみ箱へ移動・復元での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404表をごみ箱へ移動・復元での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409表をごみ箱へ移動・復元での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412表をごみ箱へ移動・復元での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413表をごみ箱へ移動・復元での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415表をごみ箱へ移動・復元での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422表をごみ箱へ移動・復元での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428表をごみ箱へ移動・復元での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429表をごみ箱へ移動・復元での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500表をごみ箱へ移動・復元での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503表をごみ箱へ移動・復元での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/tables/{collection}/members/{scopeId}関連・所属 · workspace.socket.members

OpenAPI定義ありこの操作へのリンク

対象範囲の所属者を取得

対象範囲の所属者を取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "socket.members",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
scopeId
path
必須
json{
  "type": "string",
  "format": "uuid"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceMembers
400対象範囲の所属者を取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401対象範囲の所属者を取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403対象範囲の所属者を取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404対象範囲の所属者を取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409対象範囲の所属者を取得での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422対象範囲の所属者を取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429対象範囲の所属者を取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500対象範囲の所属者を取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503対象範囲の所属者を取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

PUT/v2/tables/{collection}/members/{scopeId}/{actorId}関連・所属 · workspace.socket.member.put

OpenAPI定義ありこの操作へのリンク

対象範囲の所属者を設定

対象範囲の所属者を設定。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": true,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "socket.member.put",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "header.If-Match",
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
scopeId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
actorId
path
必須
json{
  "type": "string",
  "format": "uuid"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}
If-Match
header
必須
json{
  "type": "string",
  "pattern": "^\"[0-9]+\"$"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/WorkspaceMember"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceSocketVersion
400対象範囲の所属者を設定での拒否・失敗: BAD_REQUEST, ETAG_MALFORMED, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401対象範囲の所属者を設定での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403対象範囲の所属者を設定での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404対象範囲の所属者を設定での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409対象範囲の所属者を設定での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412対象範囲の所属者を設定での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413対象範囲の所属者を設定での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415対象範囲の所属者を設定での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422対象範囲の所属者を設定での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428対象範囲の所属者を設定での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED, PRECONDITION_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429対象範囲の所属者を設定での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500対象範囲の所属者を設定での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503対象範囲の所属者を設定での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/tables/{collection}/query業務表・ケース v2 · workspace.query

OpenAPI定義ありこの操作へのリンク

v2の行を検索

v2の行を検索。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "query",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/Query"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceQueryResult
400v2の行を検索での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401v2の行を検索での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403v2の行を検索での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404v2の行を検索での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409v2の行を検索での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413v2の行を検索での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415v2の行を検索での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422v2の行を検索での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429v2の行を検索での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500v2の行を検索での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503v2の行を検索での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/tables/{collection}/rows/{rowId}業務表・ケース v2 · workspace.row

OpenAPI定義ありこの操作へのリンク

v2の行を1件取得

v2の行を1件取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "row",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
rowId
path
必須
json{
  "type": "string",
  "format": "uuid"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceRowResult
400v2の行を1件取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401v2の行を1件取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403v2の行を1件取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404v2の行を1件取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409v2の行を1件取得での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422v2の行を1件取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429v2の行を1件取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500v2の行を1件取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503v2の行を1件取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/tables/{collection}/subjects/query人物・行アクセス · workspaceAccess.subjects

OpenAPI定義ありこの操作へのリンク

行に対応する本人IDを検索

行に対応する本人IDを検索。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 管理権限は業務行の閲覧権を付与しない。人物対応は明示された本人IDと人物行を使い、名前や行所有者から推測しない。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "person_resolution",
      "action": "subjects",
      "checks": [
        "enabled_root",
        "current_binding",
        "row_visibility",
        "membership"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/RowSubjectsInput"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · RowSubjectsResult
400行に対応する本人IDを検索での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401行に対応する本人IDを検索での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403行に対応する本人IDを検索での拒否・失敗: FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404行に対応する本人IDを検索での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409行に対応する本人IDを検索での拒否・失敗: LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413行に対応する本人IDを検索での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415行に対応する本人IDを検索での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422行に対応する本人IDを検索での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429行に対応する本人IDを検索での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500行に対応する本人IDを検索での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503行に対応する本人IDを検索での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 環境による

制限: 固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

GET/v2/tables/{collection}/trash業務表・ケース v2 · workspace.rowTrash

OpenAPI定義ありこの操作へのリンク

ごみ箱の行を一覧取得

ごみ箱の行を一覧取得。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": false,
  "mfa_when_lifecycle_enabled": false,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "rowTrash",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "read_or_plan",
  "mode": "none",
  "safe_to_repeat": true,
  "result_check": "同じ条件で取得可能。ただし一覧・計画・cursor・fingerprintは現在状態で変化する。計画を再取得しても適用は行わない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
limit
query
任意
json{
  "type": "integer",
  "minimum": 1,
  "maximum": 100
}
after
query
任意
json{
  "type": "string"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceTrashList
400ごみ箱の行を一覧取得での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401ごみ箱の行を一覧取得での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403ごみ箱の行を一覧取得での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404ごみ箱の行を一覧取得での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409ごみ箱の行を一覧取得での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422ごみ箱の行を一覧取得での拒否・失敗: VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429ごみ箱の行を一覧取得での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500ごみ箱の行を一覧取得での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503ごみ箱の行を一覧取得での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/tables/{collection}/trash/{trashId}/restore業務表・ケース v2 · workspace.rowRestore

OpenAPI定義ありこの操作へのリンク

ごみ箱の行を復元

ごみ箱の行を復元。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "rowRestore",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
collection
path
必須
json{
  "type": "string"
}
trashId
path
必須
json{
  "type": "string"
}
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/WorkspaceRestore"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceRestoreResult
400ごみ箱の行を復元での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401ごみ箱の行を復元での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403ごみ箱の行を復元での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404ごみ箱の行を復元での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409ごみ箱の行を復元での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412ごみ箱の行を復元での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413ごみ箱の行を復元での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415ごみ箱の行を復元での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422ごみ箱の行を復元での拒否・失敗: IDEMPOTENCY_MISMATCH, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428ごみ箱の行を復元での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429ごみ箱の行を復元での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500ごみ箱の行を復元での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503ごみ箱の行を復元での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

POST/v2/transactions業務表・ケース v2 · workspace.socket.transaction

OpenAPI定義ありこの操作へのリンク

複数表の変更を同じトランザクションで反映

複数表の変更を同じトランザクションで反映。登録された人のaccess tokenと現在権限を検査する。操作固有のMFA・管理権・データ権が追加で必要。 v2はv1と別契約。行所有権・列・所属・現在版を検査する。関連表の一括取引は最大8表・計100行操作で原子的に適用し、親行は既存IDを指定する。

認証

Bearer JWT。主体と現在権限を確認します。

操作別の認可条件

json{
  "actor_types": [
    "human"
  ],
  "authentication": "current_identity",
  "mfa": true,
  "mfa_when_lifecycle_enabled": true,
  "required_capabilities": [],
  "max_authentication_age_seconds": null,
  "external_human_mfa": true,
  "identity_freshness": {
    "checked_age_seconds": 5,
    "reconciled_age_seconds": 60
  },
  "administrative_session_when_lifecycle_enabled": false,
  "resource_checks": [
    {
      "kind": "v2_table_grant",
      "action": "socket.transaction",
      "checks": [
        "current_role",
        "expiry",
        "row_scope",
        "field_permissions",
        "membership",
        "closed_row_policy",
        "per_action_can_close_and_delete_scope"
      ]
    }
  ]
}

再送と結果確認

json{
  "effect": "write",
  "mode": "Idempotency-Key",
  "identifier": "header.Idempotency-Key",
  "preconditions": [
    "本文のversion/schema_version/revision/fingerprint(定義される操作のみ)"
  ],
  "safe_to_repeat": true,
  "result_check": "同じキー・本文・前提版で再送し受領結果を確認する。現在権限も再検査する。競合時は最新状態と利用者の意図を照合し、版だけを置換しない。"
}

パラメーター

名前 / 場所必須型・条件
Idempotency-Key
header
必須
json{
  "type": "string",
  "pattern": "^[-a-zA-Z0-9_]{8,128}$"
}

リクエスト本文

application/json

json{
  "$ref": "#/components/schemas/WorkspaceTransaction"
}

応答

HTTP内容 / データ型
200Success; fields are projected using current authorization.
application/json · WorkspaceTransactionResult
400複数表の変更を同じトランザクションで反映での拒否・失敗: BAD_REQUEST, SELF_DECLARED_HEADER。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
401複数表の変更を同じトランザクションで反映での拒否・失敗: AUTH_REQUIRED, TOKEN_EXPIRED, TOKEN_INVALID。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
403複数表の変更を同じトランザクションで反映での拒否・失敗: FIELD_NOT_WRITABLE, FORBIDDEN_ROLE, MFA_REQUIRED, REAUTH_REQUIRED, SCOPE_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
404複数表の変更を同じトランザクションで反映での拒否・失敗: NOT_FOUND。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
409複数表の変更を同じトランザクションで反映での拒否・失敗: CURSOR_STALE, LOCK_BUSY, STATE_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
412複数表の変更を同じトランザクションで反映での拒否・失敗: VERSION_CONFLICT。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
413複数表の変更を同じトランザクションで反映での拒否・失敗: PAYLOAD_TOO_LARGE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
415複数表の変更を同じトランザクションで反映での拒否・失敗: UNSUPPORTED_MEDIA_TYPE。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
422複数表の変更を同じトランザクションで反映での拒否・失敗: IDEMPOTENCY_MISMATCH, INVALID_TRANSITION, VALIDATION_FAILED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
428複数表の変更を同じトランザクションで反映での拒否・失敗: IDEMPOTENCY_KEY_REQUIRED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
429複数表の変更を同じトランザクションで反映での拒否・失敗: RATE_LIMITED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
500複数表の変更を同じトランザクションで反映での拒否・失敗: INTERNAL_CONTRACT_VIOLATION。codeで分岐しrequest_idを保管する。
application/problem+json · Problem
503複数表の変更を同じトランザクションで反映での拒否・失敗: DEPENDENCY_UNAVAILABLE, MAINTENANCE, OUTCOME_UNKNOWN, TX_ABORT_UNCONFIRMED, TX_RETRY_EXHAUSTED。codeで分岐しrequest_idを保管する。
application/problem+json · Problem

提供条件: 試験提供(環境による)

制限: 同時2要求まで。固定のレート上限は定めていません。環境側の制限があり、429が返ることがあります。

完全な要求・応答と実行例 · 状態の読み方

共通データ型

各操作の$refが参照する定義です。入力に使える欄や型は、現在の表定義・認可によってさらに制限されます。

AccessClients
json{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "client_id": {
            "type": "string"
          },
          "app_id": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "minimum": 1
          },
          "policy_version": {
            "type": "integer",
            "minimum": 1
          },
          "authority_kind": {
            "enum": [
              "legacy",
              "managed"
            ]
          },
          "state": {
            "type": "string"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "client_id",
          "app_id",
          "version",
          "policy_version",
          "authority_kind",
          "state",
          "expires_at"
        ],
        "additionalProperties": false
      },
      "maxItems": 100
    }
  },
  "required": [
    "items"
  ],
  "additionalProperties": false
}
AccessDefinition
json{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "version": {
      "type": "integer",
      "minimum": 1,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    },
    "definition": {
      "$ref": "#/components/schemas/WorkspaceDefine"
    }
  },
  "required": [
    "id",
    "version",
    "definition"
  ],
  "additionalProperties": false
}
AccessDelete
json{
  "type": "object",
  "properties": {
    "version": {
      "type": "integer",
      "minimum": 1,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    }
  },
  "required": [
    "version"
  ],
  "additionalProperties": false
}
AccessGrant
json{
  "type": "object",
  "properties": {
    "version": {
      "type": "integer",
      "minimum": 0,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    },
    "grant": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "type": "object",
          "properties": {
            "actor": {
              "type": "string",
              "format": "uuid"
            },
            "client": {
              "const": "hub-spa",
              "description": "このgrantが適用される本人用の登録済みクライアントID。現在のAPIはhub-spa固定。任意のアプリ名やserviceのclient_idへ置換しない。"
            },
            "collection": {
              "type": "string"
            },
            "role": {
              "type": "string"
            },
            "read_scope": {
              "enum": [
                "own",
                "all"
              ]
            },
            "write_scope": {
              "enum": [
                "none",
                "own",
                "all"
              ]
            },
            "can_design": {
              "type": "boolean"
            },
            "can_close": {
              "type": "boolean"
            },
            "can_import": {
              "type": "boolean"
            },
            "expires_at": {
              "type": "string",
              "format": "date-time"
            }
          },
          "required": [
            "actor",
            "client",
            "collection",
            "role",
            "read_scope",
            "write_scope",
            "can_design",
            "can_close",
            "can_import",
            "expires_at"
          ],
          "additionalProperties": false
        }
      ]
    }
  },
  "required": [
    "version",
    "grant"
  ],
  "additionalProperties": false
}
AccessGrantInput
json{
  "oneOf": [
    {
      "type": "object",
      "properties": {
        "version": {
          "type": "integer",
          "minimum": 0
        },
        "enabled": {
          "const": false
        }
      },
      "required": [
        "version",
        "enabled"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "version": {
          "type": "integer",
          "minimum": 0
        },
        "enabled": {
          "const": true
        },
        "role": {
          "type": "string",
          "pattern": "^[a-z][a-z0-9_-]{0,47}$",
          "not": {
            "const": "owner"
          }
        },
        "read_scope": {
          "enum": [
            "own",
            "all"
          ]
        },
        "write_scope": {
          "enum": [
            "none",
            "own",
            "all"
          ]
        },
        "can_design": {
          "type": "boolean"
        },
        "can_close": {
          "type": "boolean"
        },
        "can_import": {
          "type": "boolean"
        },
        "expires_at": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "version",
        "enabled",
        "role",
        "read_scope",
        "write_scope",
        "can_design",
        "can_close",
        "can_import",
        "expires_at"
      ],
      "additionalProperties": false
    }
  ]
}
AccessPolicy
json{
  "type": "object",
  "properties": {
    "version": {
      "type": "integer",
      "minimum": 1,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    },
    "rpm": {
      "type": "integer",
      "minimum": 1,
      "maximum": 120
    },
    "scopes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ServiceScope"
      },
      "maxItems": 16,
      "minItems": 1
    }
  },
  "required": [
    "version",
    "expires_at",
    "rpm",
    "scopes"
  ],
  "additionalProperties": false
}
AccessSubjects
json{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "active": {
            "type": "boolean"
          },
          "actor_type": {
            "const": "human"
          }
        },
        "required": [
          "id",
          "active",
          "actor_type"
        ],
        "additionalProperties": false
      },
      "maxItems": 100
    }
  },
  "required": [
    "items"
  ],
  "additionalProperties": false
}
AccessTables
json{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "minimum": 1
          },
          "label": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "version",
          "label"
        ],
        "additionalProperties": false
      },
      "maxItems": 100
    }
  },
  "required": [
    "items"
  ],
  "additionalProperties": false
}
AppApply
json{
  "type": "object",
  "properties": {
    "manifest": {
      "$ref": "#/components/schemas/AppManifest"
    },
    "fingerprint": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    }
  },
  "required": [
    "manifest",
    "fingerprint"
  ],
  "additionalProperties": false
}
AppList
json{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_-]{0,47}$"
          },
          "version": {
            "type": "integer",
            "minimum": 1
          },
          "revision": {
            "type": "integer",
            "minimum": 1
          },
          "state": {
            "enum": [
              "active",
              "stopped",
              "detached",
              "trashed"
            ]
          },
          "name": {
            "type": "string"
          },
          "deleted_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "restore_until": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "version",
          "revision",
          "state",
          "name",
          "deleted_at",
          "restore_until"
        ],
        "additionalProperties": false
      },
      "maxItems": 100
    }
  },
  "required": [
    "items"
  ],
  "additionalProperties": false
}
AppManifest
json{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[a-z][a-z0-9_-]{0,47}$"
    },
    "version": {
      "type": "integer",
      "minimum": 1,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    },
    "datasets": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_-]{0,47}$"
          },
          "mode": {
            "enum": [
              "owned",
              "shared"
            ]
          },
          "definition": {
            "$ref": "#/components/schemas/WorkspaceDefine"
          }
        },
        "required": [
          "id",
          "mode",
          "definition"
        ],
        "additionalProperties": false
      },
      "maxItems": 32,
      "minItems": 1
    },
    "dependencies": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[a-z][a-z0-9_-]{0,47}$"
      },
      "maxItems": 32,
      "uniqueItems": true
    }
  },
  "required": [
    "id",
    "version",
    "name",
    "datasets",
    "dependencies"
  ],
  "additionalProperties": false
}
AppPlan
json{
  "type": "object",
  "properties": {
    "fingerprint": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    },
    "revision": {
      "type": "integer",
      "minimum": 0,
      "description": "この応答が表す資源・一覧の変更版。別資源へ流用しない。"
    },
    "changes": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_-]{0,47}$"
          },
          "mode": {
            "enum": [
              "owned",
              "shared"
            ]
          },
          "action": {
            "enum": [
              "create",
              "retain",
              "define",
              "reference"
            ]
          },
          "version": {
            "type": "integer",
            "minimum": 0
          }
        },
        "required": [
          "id",
          "mode",
          "action",
          "version"
        ],
        "additionalProperties": false
      },
      "maxItems": 32
    }
  },
  "required": [
    "fingerprint",
    "revision",
    "changes"
  ],
  "additionalProperties": false
}
AppState
json{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[a-z][a-z0-9_-]{0,47}$"
    },
    "version": {
      "type": "integer",
      "minimum": 1,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    },
    "revision": {
      "type": "integer",
      "minimum": 1,
      "description": "この応答が表す資源・一覧の変更版。別資源へ流用しない。"
    },
    "state": {
      "enum": [
        "active",
        "stopped",
        "detached",
        "trashed"
      ]
    },
    "manifest": {
      "$ref": "#/components/schemas/AppManifest"
    },
    "deleted_at": {
      "type": [
        "string",
        "null"
      ]
    },
    "restore_until": {
      "type": [
        "string",
        "null"
      ]
    },
    "replayed": {
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "version",
    "revision",
    "state",
    "manifest",
    "deleted_at",
    "restore_until"
  ],
  "additionalProperties": false
}
AppTransition
json{
  "type": "object",
  "properties": {
    "action": {
      "enum": [
        "stop",
        "resume",
        "detach",
        "trash",
        "restore"
      ]
    },
    "revision": {
      "type": "integer",
      "minimum": 1,
      "description": "この応答が表す資源・一覧の変更版。別資源へ流用しない。"
    },
    "reason": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    }
  },
  "required": [
    "action",
    "revision",
    "reason"
  ],
  "additionalProperties": false
}
Asset
json{
  "type": "object",
  "properties": {
    "asset_id": {
      "type": "string",
      "format": "uuid"
    },
    "version": {
      "type": "integer",
      "minimum": 1,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    },
    "custody": {
      "type": "string",
      "enum": [
        "managed_original",
        "external_reference"
      ]
    },
    "sha256": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "size": {
      "type": "integer",
      "minimum": 0
    },
    "media_type": {
      "type": "string"
    },
    "thumbnail": {
      "type": "boolean"
    },
    "created_at": {
      "type": "string"
    },
    "replayed": {
      "type": "boolean"
    }
  },
  "required": [
    "asset_id",
    "version",
    "custody",
    "sha256",
    "size",
    "media_type",
    "thumbnail",
    "created_at"
  ],
  "additionalProperties": false
}
AssetPolicy
json{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "integer",
      "minimum": 1
    },
    "modes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "max_managed_bytes": {
      "type": "integer",
      "minimum": 0
    },
    "max_external_bytes": {
      "type": "integer",
      "minimum": 0
    },
    "media_types": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "can_write": {
      "type": "boolean"
    }
  },
  "required": [
    "contract_version",
    "modes",
    "max_managed_bytes",
    "max_external_bytes",
    "media_types",
    "can_write"
  ],
  "additionalProperties": false
}
AssetProblem
json{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    },
    "request_id": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "error",
    "request_id"
  ],
  "additionalProperties": false
}
AssetReference
json{
  "type": "object",
  "properties": {
    "relative_path": {
      "type": "string"
    },
    "media_type": {
      "type": "string"
    }
  },
  "required": [
    "relative_path",
    "media_type"
  ],
  "additionalProperties": false
}
Batch
json{
  "type": "object",
  "properties": {
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    },
    "operations": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Mutation"
      },
      "maxItems": 100,
      "minItems": 1
    }
  },
  "required": [
    "schema_version",
    "operations"
  ],
  "additionalProperties": false
}
BatchResult
json{
  "type": "object",
  "properties": {
    "rows": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "version": {
            "type": "integer",
            "minimum": 1
          },
          "deleted": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "version",
          "deleted"
        ],
        "additionalProperties": false
      },
      "maxItems": 100
    },
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    },
    "revision": {
      "type": "integer",
      "minimum": 0,
      "description": "この応答が表す資源・一覧の変更版。別資源へ流用しない。"
    },
    "committed": {
      "type": "boolean"
    },
    "replayed": {
      "type": "boolean"
    }
  },
  "required": [
    "rows",
    "schema_version",
    "revision",
    "committed"
  ],
  "additionalProperties": false
}
Case
json{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "number": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "version": {
      "type": "integer",
      "minimum": 1,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    },
    "status": {
      "enum": [
        "active",
        "cancelled"
      ]
    },
    "legacy": {
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "number",
    "title",
    "version",
    "status",
    "legacy"
  ],
  "additionalProperties": false
}
CaseCancel
json{
  "type": "object",
  "properties": {
    "version": {
      "type": "integer",
      "minimum": 1,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    }
  },
  "required": [
    "version"
  ],
  "additionalProperties": false
}
CaseCreate
json{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 512
    },
    "series": {
      "type": "string",
      "pattern": "^[a-z][a-z0-9_-]{0,47}$"
    },
    "period": {
      "type": "string",
      "minLength": 1,
      "maxLength": 32
    }
  },
  "required": [
    "title",
    "series",
    "period"
  ],
  "additionalProperties": false
}
CaseImport
json{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "title": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512
          },
          "source_key": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          }
        },
        "required": [
          "number",
          "title",
          "source_key"
        ],
        "additionalProperties": false
      },
      "maxItems": 100,
      "minItems": 1
    }
  },
  "required": [
    "items"
  ],
  "additionalProperties": false
}
CaseImportResult
json{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Case"
      },
      "maxItems": 100
    },
    "replayed": {
      "type": "boolean"
    }
  },
  "required": [
    "items"
  ],
  "additionalProperties": false
}
CaseQuery
json{
  "type": "object",
  "properties": {
    "number": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    },
    "after": {
      "type": "string",
      "format": "uuid"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 199
    }
  },
  "required": [],
  "additionalProperties": false
}
CaseQueryResult
json{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Case"
      },
      "maxItems": 199
    },
    "next_after": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "items",
    "next_after"
  ],
  "additionalProperties": false
}
CaseResult
json{
  "type": "object",
  "properties": {
    "item": {
      "$ref": "#/components/schemas/Case"
    },
    "replayed": {
      "type": "boolean"
    }
  },
  "required": [
    "item"
  ],
  "additionalProperties": false
}
Changes
json{
  "type": "object",
  "properties": {
    "revision": {
      "type": "integer",
      "minimum": 0,
      "description": "この応答が表す資源・一覧の変更版。別資源へ流用しない。"
    },
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    }
  },
  "required": [
    "revision",
    "schema_version"
  ],
  "additionalProperties": false
}
Define
json{
  "type": "object",
  "properties": {
    "label": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    },
    "fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Field"
      },
      "maxItems": 64,
      "minItems": 1
    },
    "export_roles": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "designer",
          "editor",
          "viewer"
        ]
      },
      "maxItems": 3,
      "uniqueItems": true
    }
  },
  "required": [
    "label",
    "fields",
    "export_roles"
  ],
  "additionalProperties": false
}
DefineResult
json{
  "type": "object",
  "properties": {
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    },
    "revision": {
      "type": "integer",
      "minimum": 0,
      "description": "この応答が表す資源・一覧の変更版。別資源へ流用しない。"
    },
    "replayed": {
      "type": "boolean"
    }
  },
  "required": [
    "schema_version",
    "revision"
  ],
  "additionalProperties": false
}
Definition
json{
  "type": "object",
  "properties": {
    "label": {
      "type": "string"
    },
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    },
    "revision": {
      "type": "integer",
      "minimum": 0,
      "description": "この応答が表す資源・一覧の変更版。別資源へ流用しない。"
    },
    "fields": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          },
          "choices": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "readable": {
            "type": "boolean"
          },
          "writable": {
            "type": "boolean"
          },
          "searchable": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "label",
          "type",
          "required",
          "choices",
          "readable",
          "writable",
          "searchable"
        ],
        "additionalProperties": false
      },
      "maxItems": 64
    },
    "can_design": {
      "type": "boolean"
    },
    "can_export": {
      "type": "boolean"
    },
    "limits": {
      "type": "object",
      "properties": {
        "rows": {
          "type": "integer",
          "minimum": 0
        },
        "fields": {
          "type": "integer",
          "minimum": 0
        },
        "batch": {
          "type": "integer",
          "minimum": 0
        },
        "page": {
          "type": "integer",
          "minimum": 0
        }
      },
      "required": [
        "rows",
        "fields",
        "batch",
        "page"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "label",
    "schema_version",
    "revision",
    "fields",
    "can_design",
    "can_export",
    "limits"
  ],
  "additionalProperties": false
}
ExportResult
json{
  "type": "object",
  "properties": {
    "csv": {
      "type": "string"
    },
    "next_cursor": {
      "type": [
        "string",
        "null"
      ]
    },
    "revision": {
      "type": "integer",
      "minimum": 0,
      "description": "この応答が表す資源・一覧の変更版。別資源へ流用しない。"
    },
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    }
  },
  "required": [
    "csv",
    "next_cursor",
    "revision",
    "schema_version"
  ],
  "additionalProperties": false
}
Field
json{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[a-z][a-z0-9_-]{0,47}$"
    },
    "label": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    },
    "type": {
      "type": "string",
      "enum": [
        "text",
        "number",
        "boolean",
        "date",
        "choice"
      ]
    },
    "required": {
      "type": "boolean"
    },
    "read": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "designer",
          "editor",
          "viewer"
        ]
      },
      "maxItems": 3,
      "uniqueItems": true
    },
    "write": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "designer",
          "editor",
          "viewer"
        ]
      },
      "maxItems": 3,
      "uniqueItems": true
    },
    "searchable": {
      "type": "boolean"
    },
    "retired": {
      "type": "boolean"
    },
    "choices": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 128
      },
      "maxItems": 100
    }
  },
  "required": [
    "id",
    "label",
    "type",
    "required",
    "read",
    "write",
    "searchable",
    "retired",
    "choices"
  ],
  "additionalProperties": false
}
HumanDeleteGrant
json{
  "type": "object",
  "properties": {
    "version": {
      "type": "integer",
      "minimum": 0,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    },
    "grant": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "type": "object",
          "properties": {
            "version": {
              "type": "integer",
              "minimum": 1
            },
            "scope": {
              "enum": [
                "none",
                "own",
                "all"
              ]
            },
            "expires_at": {
              "type": "string",
              "format": "date-time"
            },
            "source": {
              "enum": [
                "legacy",
                "explicit",
                "new",
                "revoked"
              ]
            }
          },
          "required": [
            "version",
            "scope",
            "expires_at",
            "source"
          ],
          "additionalProperties": false
        }
      ]
    },
    "replayed": {
      "type": "boolean"
    }
  },
  "required": [
    "version",
    "grant"
  ],
  "additionalProperties": false
}
HumanDeleteInput
json{
  "type": "object",
  "properties": {
    "version": {
      "type": "integer",
      "minimum": 0,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    },
    "scope": {
      "enum": [
        "none",
        "own",
        "all"
      ]
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    },
    "reason": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    }
  },
  "required": [
    "version",
    "scope",
    "expires_at",
    "reason"
  ],
  "additionalProperties": false
}
Import
json{
  "type": "object",
  "properties": {
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    },
    "mode": {
      "type": "string",
      "enum": [
        "preview",
        "commit"
      ]
    },
    "csv": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200000
    }
  },
  "required": [
    "schema_version",
    "mode",
    "csv"
  ],
  "additionalProperties": false
}
Media
json{
  "type": "object",
  "properties": {
    "asset_id": {
      "type": "string",
      "format": "uuid"
    },
    "version": {
      "type": "integer",
      "minimum": 1,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    },
    "custody": {
      "enum": [
        "managed_original",
        "external_reference"
      ]
    },
    "media_type": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "size": {
      "type": "integer",
      "minimum": 0
    },
    "sha256": {
      "type": "string"
    },
    "preview": {
      "enum": [
        "ready",
        "not_supported"
      ]
    },
    "deleted": {
      "type": "boolean"
    },
    "updated_at": {
      "type": "string"
    },
    "replayed": {
      "type": "boolean"
    }
  },
  "required": [
    "asset_id",
    "version",
    "deleted",
    "updated_at"
  ],
  "additionalProperties": false
}
MediaPolicy
json{
  "type": "object",
  "properties": {
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    },
    "parent_version": {
      "type": "integer",
      "minimum": 1
    },
    "can_write": {
      "type": "boolean"
    },
    "contract_version": {
      "const": 1
    },
    "modes": {
      "type": "array",
      "items": {
        "enum": [
          "managed_original",
          "external_reference"
        ]
      }
    },
    "max_bytes": {
      "type": "integer",
      "minimum": 1,
      "maximum": 33554432
    },
    "max_attachments": {
      "const": 100
    },
    "reference_stores": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "formats": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "thumbnail": {
            "type": "boolean"
          },
          "download": {
            "const": true
          },
          "browser_preview": {
            "enum": [
              "browser-dependent",
              "download"
            ]
          },
          "transcode": {
            "const": false
          }
        },
        "required": [
          "type",
          "thumbnail",
          "download",
          "browser_preview",
          "transcode"
        ],
        "additionalProperties": false
      }
    },
    "resumable": {
      "const": false
    },
    "range": {
      "const": false
    }
  },
  "required": [
    "schema_version",
    "parent_version",
    "can_write",
    "contract_version",
    "modes",
    "max_bytes",
    "max_attachments",
    "reference_stores",
    "formats",
    "resumable",
    "range"
  ],
  "additionalProperties": false
}
MediaReference
json{
  "type": "object",
  "properties": {
    "store": {
      "type": "string"
    },
    "relative_path": {
      "type": "string",
      "maxLength": 1400
    },
    "media_type": {
      "enum": [
        "image/png",
        "image/jpeg",
        "image/webp",
        "application/pdf",
        "text/plain",
        "audio/mpeg",
        "audio/wav",
        "audio/ogg",
        "video/mp4",
        "video/webm"
      ]
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    }
  },
  "required": [
    "store",
    "relative_path",
    "media_type",
    "name"
  ],
  "additionalProperties": false
}
Mutation
json{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "create",
        "update",
        "delete"
      ]
    },
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "version": {
      "type": "integer",
      "minimum": 0,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    },
    "values": {
      "type": "object",
      "additionalProperties": {
        "type": [
          "string",
          "number",
          "boolean",
          "null"
        ]
      },
      "maxProperties": 64
    },
    "status": {
      "type": "string",
      "enum": [
        "draft",
        "committed"
      ],
      "description": "行の保存状態。draftは必須値の未入力を許容し、committedは必須値を検証する。この値の変更は業務工程の進行や請求の確定を実行しない。"
    },
    "expected_values": {
      "type": "object",
      "additionalProperties": {
        "type": [
          "string",
          "number",
          "boolean",
          "null"
        ]
      },
      "maxProperties": 64
    }
  },
  "required": [
    "action",
    "id",
    "version"
  ],
  "additionalProperties": false
}
NumberSeries
json{
  "type": "object",
  "properties": {
    "prefix": {
      "type": "string",
      "minLength": 1,
      "maxLength": 32
    },
    "width": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10
    },
    "next_value": {
      "type": "integer",
      "minimum": 1,
      "maximum": 9999999999
    },
    "reuse_cancelled": {
      "type": "boolean"
    }
  },
  "required": [
    "prefix",
    "width",
    "next_value",
    "reuse_cancelled"
  ],
  "additionalProperties": false
}
NumberSeriesResult
json{
  "type": "object",
  "properties": {
    "version": {
      "type": "integer",
      "minimum": 1,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    },
    "replayed": {
      "type": "boolean"
    }
  },
  "required": [
    "version"
  ],
  "additionalProperties": false
}
PersonBindingInput
json{
  "type": "object",
  "properties": {
    "version": {
      "type": "integer",
      "minimum": 0,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    },
    "person_id": {
      "type": "string",
      "format": "uuid"
    },
    "enabled": {
      "type": "boolean"
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    },
    "reason": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    }
  },
  "required": [
    "version",
    "person_id",
    "enabled",
    "expires_at",
    "reason"
  ],
  "additionalProperties": false
}
PersonBindingResult
json{
  "type": "object",
  "properties": {
    "version": {
      "type": "integer",
      "minimum": 0,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    },
    "binding": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "type": "object",
          "properties": {
            "person_id": {
              "type": "string",
              "format": "uuid"
            },
            "version": {
              "type": "integer",
              "minimum": 1
            },
            "enabled": {
              "type": "boolean"
            },
            "expires_at": {
              "type": "string",
              "format": "date-time"
            }
          },
          "required": [
            "person_id",
            "version",
            "enabled",
            "expires_at"
          ],
          "additionalProperties": false
        }
      ]
    },
    "replayed": {
      "type": "boolean"
    }
  },
  "required": [
    "version",
    "binding"
  ],
  "additionalProperties": false
}
PersonMembersInput
json{
  "type": "object",
  "properties": {
    "reason": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "members": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "actor": {
            "type": "string",
            "format": "uuid"
          },
          "version": {
            "type": "integer",
            "minimum": 0
          },
          "enabled": {
            "type": "boolean"
          },
          "write": {
            "type": "boolean"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "actor",
          "version",
          "enabled",
          "write",
          "expires_at"
        ],
        "additionalProperties": false
      },
      "maxItems": 100,
      "minItems": 1
    }
  },
  "required": [
    "reason",
    "members"
  ],
  "additionalProperties": false
}
PersonMembersPage
json{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "actor": {
            "type": "string",
            "format": "uuid"
          },
          "version": {
            "type": "integer",
            "minimum": 1
          },
          "enabled": {
            "type": "boolean"
          },
          "write": {
            "type": "boolean"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "actor",
          "version",
          "enabled",
          "write",
          "expires_at"
        ],
        "additionalProperties": false
      },
      "maxItems": 100
    },
    "next_after": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    }
  },
  "required": [
    "items",
    "next_after"
  ],
  "additionalProperties": false
}
PersonMembersResult
json{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "actor": {
            "type": "string",
            "format": "uuid"
          },
          "version": {
            "type": "integer",
            "minimum": 1
          },
          "enabled": {
            "type": "boolean"
          },
          "write": {
            "type": "boolean"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "actor",
          "version",
          "enabled",
          "write",
          "expires_at"
        ],
        "additionalProperties": false
      },
      "maxItems": 100
    },
    "replayed": {
      "type": "boolean"
    }
  },
  "required": [
    "items"
  ],
  "additionalProperties": false
}
PersonRootInput
json{
  "type": "object",
  "properties": {
    "version": {
      "type": "integer",
      "minimum": 0,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    },
    "enabled": {
      "type": "boolean"
    },
    "reason": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    }
  },
  "required": [
    "version",
    "enabled",
    "reason"
  ],
  "additionalProperties": false
}
PersonRootResult
json{
  "type": "object",
  "properties": {
    "version": {
      "type": "integer",
      "minimum": 0,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    },
    "root": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "type": "object",
          "properties": {
            "collection": {
              "type": "string"
            },
            "version": {
              "type": "integer",
              "minimum": 1
            },
            "enabled": {
              "type": "boolean"
            }
          },
          "required": [
            "collection",
            "version",
            "enabled"
          ],
          "additionalProperties": false
        }
      ]
    },
    "replayed": {
      "type": "boolean"
    }
  },
  "required": [
    "version",
    "root"
  ],
  "additionalProperties": false
}
PersonSelf
json{
  "type": "object",
  "properties": {
    "resolution": {
      "enum": [
        "resolved",
        "unresolved"
      ]
    },
    "person_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "binding_version": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 1
    }
  },
  "required": [
    "resolution",
    "person_id",
    "binding_version"
  ],
  "additionalProperties": false
}
Problem
json{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "description": "エラー種別の識別子。応答値はurn:hub:problem:<code>形式で、codeは小文字化し、下線をハイフンへ置換する。取得用URLではない。処理分岐にはcodeを使用する。"
    },
    "title": {
      "type": "string"
    },
    "status": {
      "type": "integer"
    },
    "code": {
      "type": "string",
      "enum": [
        "ASSET_REASON_REQUIRED",
        "ASSET_INVALID",
        "ASSET_INVALID_IMAGE",
        "ASSET_FORBIDDEN",
        "ASSET_POLICY_DENIED",
        "ASSET_NOT_FOUND",
        "ASSET_NO_THUMBNAIL",
        "ASSET_VERSION_CONFLICT",
        "ASSET_IDEMPOTENCY_MISMATCH",
        "ASSET_POLICY_CHANGED",
        "ASSET_PRECONDITION_REQUIRED",
        "ASSET_TOO_LARGE",
        "ASSET_QUOTA_EXCEEDED",
        "ASSET_DEPENDENCY_UNAVAILABLE",
        "ASSET_BUSY",
        "ASSET_CAPACITY",
        "BAD_REQUEST",
        "ETAG_MALFORMED",
        "SELF_DECLARED_HEADER",
        "AUTH_REQUIRED",
        "TOKEN_INVALID",
        "TOKEN_EXPIRED",
        "FORBIDDEN_ROLE",
        "FIELD_NOT_WRITABLE",
        "SCOPE_VIOLATION",
        "MFA_REQUIRED",
        "REAUTH_REQUIRED",
        "AI_MUST_USE_PROPOSALS",
        "AI_SUSPENDED",
        "NOT_FOUND",
        "STATE_CONFLICT",
        "PROPOSAL_CONFLICT",
        "OPERATION_IN_PROGRESS",
        "FOLDER_LIMIT_REACHED",
        "DUPLICATE",
        "STALE_SOURCE",
        "AUTHORITY_CONFLICT",
        "IDEMPOTENCY_IN_PROGRESS",
        "LOCK_BUSY",
        "CURSOR_STALE",
        "VERSION_CONFLICT",
        "PAYLOAD_TOO_LARGE",
        "UNSUPPORTED_MEDIA_TYPE",
        "FIELD_UNKNOWN",
        "FIELD_NOT_ALLOWED",
        "FIELD_REQUIRED",
        "EMPTY_PATCH",
        "VALIDATION_FAILED",
        "INVALID_TRANSITION",
        "IDEMPOTENCY_MISMATCH",
        "PRECONDITION_REQUIRED",
        "IDEMPOTENCY_KEY_REQUIRED",
        "RATE_LIMITED",
        "AI_RATE_LIMITED",
        "DEPENDENCY_UNAVAILABLE",
        "MAINTENANCE",
        "OUTCOME_UNKNOWN",
        "TX_ABORT_UNCONFIRMED",
        "TX_RETRY_EXHAUSTED",
        "INTERNAL_CONTRACT_VIOLATION"
      ]
    },
    "request_id": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "type",
    "title",
    "status",
    "code",
    "request_id"
  ],
  "additionalProperties": false,
  "description": "Error responses intentionally contain no current row values or versions. After 412, GET /v1/tables/{collection}/rows/{rowId} under current authorization, show latest versus local values, and ask the user to resolve. A deleted/revoked row can return 404/403. Never blindly replace the expected version and retry. 409 CURSOR_STALE requires discarding the accumulated page set and starting over."
}
Query
json{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 199,
      "default": 50
    },
    "sort": {
      "type": "object",
      "properties": {
        "field": {
          "type": "string"
        },
        "direction": {
          "type": "string",
          "enum": [
            "asc",
            "desc"
          ]
        }
      },
      "required": [
        "field",
        "direction"
      ],
      "additionalProperties": false
    },
    "filters": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string"
          },
          "op": {
            "type": "string",
            "enum": [
              "eq",
              "contains",
              "gte",
              "lte"
            ]
          },
          "value": {
            "type": [
              "string",
              "number",
              "boolean",
              "null"
            ]
          }
        },
        "required": [
          "field",
          "op",
          "value"
        ],
        "additionalProperties": false
      },
      "maxItems": 8
    },
    "status": {
      "type": "string",
      "enum": [
        "draft",
        "committed"
      ]
    },
    "cursor": {
      "type": "string",
      "maxLength": 4096
    }
  },
  "required": [],
  "additionalProperties": false
}
QueryResult
json{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Row"
      },
      "maxItems": 199
    },
    "next_cursor": {
      "type": [
        "string",
        "null"
      ]
    },
    "revision": {
      "type": "integer",
      "minimum": 0,
      "description": "この応答が表す資源・一覧の変更版。別資源へ流用しない。"
    },
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    }
  },
  "required": [
    "items",
    "next_cursor",
    "revision",
    "schema_version"
  ],
  "additionalProperties": false
}
Row
json{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "version": {
      "type": "integer",
      "minimum": 1,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    },
    "status": {
      "type": "string",
      "enum": [
        "draft",
        "committed"
      ],
      "description": "行の保存状態。draftは必須値の未入力を許容し、committedは必須値を検証する。この値の変更は業務工程の進行や請求の確定を実行しない。"
    },
    "values": {
      "type": "object",
      "additionalProperties": {
        "type": [
          "string",
          "number",
          "boolean",
          "null"
        ]
      },
      "maxProperties": 64
    }
  },
  "required": [
    "id",
    "version",
    "status",
    "values"
  ],
  "additionalProperties": false
}
RowResult
json{
  "type": "object",
  "properties": {
    "item": {
      "$ref": "#/components/schemas/Row"
    },
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    },
    "revision": {
      "type": "integer",
      "minimum": 0,
      "description": "この応答が表す資源・一覧の変更版。別資源へ流用しない。"
    }
  },
  "required": [
    "item",
    "schema_version",
    "revision"
  ],
  "additionalProperties": false
}
RowSubjectsInput
json{
  "type": "object",
  "properties": {
    "rows": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "version": {
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "id",
          "version"
        ],
        "additionalProperties": false
      },
      "maxItems": 100,
      "minItems": 1
    }
  },
  "required": [
    "rows"
  ],
  "additionalProperties": false
}
RowSubjectsResult
json{
  "type": "object",
  "properties": {
    "person_collection": {
      "type": "string"
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "row_id": {
            "type": "string",
            "format": "uuid"
          },
          "row_version": {
            "type": "integer",
            "minimum": 1
          },
          "person_id": {
            "type": "string",
            "format": "uuid"
          }
        },
        "required": [
          "row_id",
          "row_version",
          "person_id"
        ],
        "additionalProperties": false
      },
      "maxItems": 100
    }
  },
  "required": [
    "person_collection",
    "items"
  ],
  "additionalProperties": false
}
ServiceApplication
json{
  "type": "object",
  "properties": {
    "app_id": {
      "type": "string",
      "pattern": "^[a-z][a-z0-9_-]{0,47}$"
    },
    "purpose": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    },
    "rpm": {
      "type": "integer",
      "minimum": 1,
      "maximum": 120
    },
    "jwk": {
      "$ref": "#/components/schemas/ServicePublicKey"
    },
    "scopes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ServiceScope"
      },
      "maxItems": 16,
      "minItems": 1
    }
  },
  "required": [
    "app_id",
    "purpose",
    "expires_at",
    "rpm",
    "jwk",
    "scopes"
  ],
  "additionalProperties": false
}
ServiceBatch
json{
  "type": "object",
  "properties": {
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    },
    "operations": {
      "type": "array",
      "minItems": 1,
      "maxItems": 50,
      "items": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "action": {
                "const": "create"
              },
              "values": {
                "type": "object",
                "additionalProperties": {
                  "type": [
                    "string",
                    "number",
                    "boolean",
                    "null"
                  ]
                },
                "maxProperties": 64
              }
            },
            "required": [
              "action",
              "values"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "action": {
                "const": "update"
              },
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "version": {
                "type": "integer",
                "minimum": 1
              },
              "values": {
                "type": "object",
                "additionalProperties": {
                  "type": [
                    "string",
                    "number",
                    "boolean",
                    "null"
                  ]
                },
                "maxProperties": 64
              }
            },
            "required": [
              "action",
              "id",
              "version",
              "values"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "action": {
                "const": "delete"
              },
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "version": {
                "type": "integer",
                "minimum": 1
              },
              "reason": {
                "type": "string",
                "minLength": 1,
                "maxLength": 500
              }
            },
            "required": [
              "action",
              "id",
              "version"
            ],
            "additionalProperties": false
          }
        ]
      }
    }
  },
  "required": [
    "schema_version",
    "operations"
  ],
  "additionalProperties": false
}
ServiceBatchResult
json{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "version": {
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "id",
          "version"
        ],
        "additionalProperties": false
      },
      "maxItems": 50
    },
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    }
  },
  "required": [
    "items",
    "schema_version"
  ],
  "additionalProperties": false
}
ServiceChange
json{
  "type": "object",
  "properties": {
    "version": {
      "type": "integer",
      "minimum": 1,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    },
    "jwk": {
      "$ref": "#/components/schemas/ServicePublicKey"
    }
  },
  "required": [
    "version"
  ],
  "additionalProperties": false
}
ServiceClient
json{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "client_id": {
      "type": "string"
    },
    "version": {
      "type": "integer",
      "minimum": 1,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    },
    "generation": {
      "type": "integer",
      "minimum": 1
    },
    "policy_version": {
      "type": "integer",
      "minimum": 1
    },
    "authority_kind": {
      "enum": [
        "legacy",
        "managed"
      ]
    },
    "state": {
      "enum": [
        "requested",
        "approved",
        "ready",
        "active",
        "suspended",
        "revoked"
      ]
    },
    "application": {
      "$ref": "#/components/schemas/ServiceApplication"
    },
    "applicant": {
      "type": "string",
      "format": "uuid"
    },
    "approver": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "approver_client": {
      "type": [
        "string",
        "null"
      ]
    },
    "subject": {
      "type": [
        "string",
        "null"
      ]
    },
    "idp_id": {
      "type": [
        "string",
        "null"
      ]
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    },
    "connection": {
      "type": "object",
      "properties": {
        "issuer": {
          "type": "string"
        },
        "token_endpoint": {
          "type": "string"
        },
        "audience": {
          "type": "string"
        },
        "auth_method": {
          "const": "private_key_jwt"
        }
      },
      "required": [
        "issuer",
        "token_endpoint",
        "audience",
        "auth_method"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "id",
    "client_id",
    "version",
    "generation",
    "policy_version",
    "authority_kind",
    "state",
    "application",
    "applicant",
    "approver",
    "approver_client",
    "subject",
    "idp_id",
    "expires_at",
    "connection"
  ],
  "additionalProperties": false
}
ServiceImport
json{
  "type": "object",
  "properties": {
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    },
    "expected_actor": {
      "type": "string",
      "format": "uuid"
    },
    "operations": {
      "type": "array",
      "minItems": 1,
      "maxItems": 100,
      "items": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "action": {
                "const": "create"
              },
              "values": {
                "type": "object",
                "additionalProperties": {
                  "type": [
                    "string",
                    "number",
                    "boolean",
                    "null"
                  ]
                },
                "maxProperties": 64
              }
            },
            "required": [
              "action",
              "values"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "action": {
                "const": "update"
              },
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "version": {
                "type": "integer",
                "minimum": 1
              },
              "values": {
                "type": "object",
                "additionalProperties": {
                  "type": [
                    "string",
                    "number",
                    "boolean",
                    "null"
                  ]
                },
                "maxProperties": 64
              }
            },
            "required": [
              "action",
              "id",
              "version",
              "values"
            ],
            "additionalProperties": false
          }
        ]
      }
    }
  },
  "required": [
    "schema_version",
    "expected_actor",
    "operations"
  ],
  "additionalProperties": false
}
ServiceImportResult
json{
  "type": "object",
  "properties": {
    "rows": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "version": {
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "id",
          "version"
        ],
        "additionalProperties": false
      },
      "maxItems": 100
    },
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    }
  },
  "required": [
    "rows",
    "schema_version"
  ],
  "additionalProperties": false
}
ServicePublicKey
json{
  "type": "object",
  "properties": {
    "kty": {
      "const": "RSA"
    },
    "n": {
      "type": "string",
      "minLength": 342,
      "maxLength": 1400,
      "pattern": "^[A-Za-z0-9_-]+$"
    },
    "e": {
      "const": "AQAB"
    },
    "kid": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,64}$"
    },
    "alg": {
      "const": "RS256"
    },
    "use": {
      "const": "sig"
    }
  },
  "required": [
    "kty",
    "n",
    "e",
    "kid"
  ],
  "additionalProperties": false
}
ServiceQuery
json{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 199,
      "default": 50
    },
    "after": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [],
  "additionalProperties": false
}
ServiceQueryResult
json{
  "type": "object",
  "properties": {
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "version": {
            "type": "integer",
            "minimum": 1
          },
          "status": {
            "enum": [
              "draft",
              "committed"
            ]
          },
          "closed": {
            "type": "boolean"
          },
          "values": {
            "type": "object",
            "additionalProperties": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "maxProperties": 64
          }
        },
        "required": [
          "id",
          "version",
          "status",
          "closed",
          "values"
        ],
        "additionalProperties": false
      },
      "maxItems": 199
    },
    "next_after": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    }
  },
  "required": [
    "schema_version",
    "items",
    "next_after"
  ],
  "additionalProperties": false
}
ServiceScope
json{
  "type": "object",
  "properties": {
    "collection": {
      "type": "string",
      "pattern": "^[a-z][a-z0-9_-]{0,47}$"
    },
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    },
    "read": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[a-z][a-z0-9_-]{0,47}$"
      },
      "maxItems": 64,
      "uniqueItems": true
    },
    "write": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[a-z][a-z0-9_-]{0,47}$"
      },
      "maxItems": 64,
      "uniqueItems": true
    },
    "operations": {
      "type": "array",
      "items": {
        "enum": [
          "query",
          "update",
          "create",
          "delete"
        ]
      },
      "maxItems": 4,
      "minItems": 1,
      "uniqueItems": true
    },
    "rows": {
      "type": "object",
      "properties": {
        "kind": {
          "enum": [
            "all",
            "match"
          ]
        },
        "values": {
          "type": "object",
          "additionalProperties": {
            "type": [
              "string",
              "number",
              "boolean",
              "null"
            ]
          },
          "maxProperties": 8
        }
      },
      "required": [
        "kind",
        "values"
      ],
      "additionalProperties": false
    },
    "custodian": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    }
  },
  "required": [
    "collection",
    "schema_version",
    "read",
    "write",
    "operations",
    "rows"
  ],
  "additionalProperties": false
}
ServiceTableMetadata
json{
  "type": "object",
  "properties": {
    "label": {
      "type": "string"
    },
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    },
    "custodian": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "fields": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          },
          "choices": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "readable": {
            "type": "boolean"
          },
          "writable": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "label",
          "type",
          "required",
          "choices",
          "readable",
          "writable"
        ],
        "additionalProperties": false
      },
      "maxItems": 64
    },
    "can_import": {
      "type": "boolean"
    },
    "can_export": {
      "type": "boolean"
    },
    "limits": {
      "type": "object",
      "properties": {
        "batch": {
          "const": 100
        },
        "page": {
          "const": 199
        }
      },
      "required": [
        "batch",
        "page"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "label",
    "schema_version",
    "custodian",
    "fields",
    "can_import",
    "can_export",
    "limits"
  ],
  "additionalProperties": false
}
Tables
json{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "revision": {
            "type": "integer",
            "minimum": 0
          },
          "label": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "revision",
          "label"
        ],
        "additionalProperties": false
      }
    },
    "role": {
      "type": "string",
      "enum": [
        "designer",
        "editor",
        "viewer"
      ]
    }
  },
  "required": [
    "items",
    "role"
  ],
  "additionalProperties": false
}
ViewInput
json{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "version": {
      "type": "integer",
      "minimum": 0,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    },
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    },
    "columns": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string"
          },
          "width": {
            "type": "integer",
            "minimum": 40,
            "maximum": 1000
          }
        },
        "required": [
          "field",
          "width"
        ],
        "additionalProperties": false
      },
      "maxItems": 64
    }
  },
  "required": [
    "id",
    "version",
    "schema_version",
    "columns"
  ],
  "additionalProperties": false
}
ViewResult
json{
  "type": "object",
  "properties": {
    "revision": {
      "type": "integer",
      "minimum": 0,
      "description": "この応答が表す資源・一覧の変更版。別資源へ流用しない。"
    },
    "view_version": {
      "type": "integer",
      "minimum": 1
    },
    "replayed": {
      "type": "boolean"
    }
  },
  "required": [
    "revision",
    "view_version"
  ],
  "additionalProperties": false
}
Views
json{
  "type": "object",
  "properties": {
    "views": {
      "type": "object",
      "additionalProperties": {
        "type": "object",
        "properties": {
          "version": {
            "type": "integer",
            "minimum": 1
          },
          "columns": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "field": {
                  "type": "string"
                },
                "width": {
                  "type": "integer",
                  "minimum": 0
                }
              },
              "required": [
                "field",
                "width"
              ],
              "additionalProperties": false
            },
            "maxItems": 64
          }
        },
        "required": [
          "version",
          "columns"
        ],
        "additionalProperties": false
      }
    },
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    },
    "revision": {
      "type": "integer",
      "minimum": 0,
      "description": "この応答が表す資源・一覧の変更版。別資源へ流用しない。"
    }
  },
  "required": [
    "views",
    "schema_version",
    "revision"
  ],
  "additionalProperties": false
}
WorkspaceAccess
json{
  "type": "object",
  "properties": {
    "mode": {
      "enum": [
        "table",
        "members"
      ]
    },
    "parent_collection": {
      "type": [
        "string",
        "null"
      ]
    },
    "field": {
      "type": [
        "string",
        "null"
      ]
    },
    "cardinality": {
      "enum": [
        "one",
        "many"
      ]
    }
  },
  "required": [
    "mode",
    "parent_collection",
    "field",
    "cardinality"
  ],
  "additionalProperties": false
}
WorkspaceAccessResult
json{
  "type": "object",
  "properties": {
    "version": {
      "type": "integer",
      "minimum": 0,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    },
    "mode": {
      "enum": [
        "table",
        "members"
      ]
    },
    "parent_collection": {
      "type": [
        "string",
        "null"
      ]
    },
    "field": {
      "type": [
        "string",
        "null"
      ]
    },
    "cardinality": {
      "enum": [
        "one",
        "many"
      ]
    }
  },
  "required": [
    "version",
    "mode",
    "parent_collection",
    "field",
    "cardinality"
  ],
  "additionalProperties": false
}
WorkspaceAggregate
json{
  "type": "object",
  "properties": {
    "filters": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string"
          },
          "op": {
            "type": "string",
            "enum": [
              "eq",
              "contains",
              "gte",
              "lte"
            ]
          },
          "value": {
            "type": [
              "string",
              "number",
              "boolean",
              "null"
            ]
          }
        },
        "required": [
          "field",
          "op",
          "value"
        ],
        "additionalProperties": false
      },
      "maxItems": 8
    },
    "status": {
      "type": "string",
      "enum": [
        "draft",
        "committed"
      ]
    },
    "group_by": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[a-z][a-z0-9_-]{0,47}$",
        "not": {
          "enum": [
            "id",
            "owner_id",
            "version",
            "status",
            "closed",
            "constructor",
            "prototype",
            "__proto__"
          ]
        },
        "x-reserved-field-ids": [
          "id",
          "owner_id",
          "version",
          "status",
          "closed"
        ]
      },
      "maxItems": 4,
      "uniqueItems": true
    },
    "metrics": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[a-z][a-z0-9_-]{0,47}$",
                "not": {
                  "enum": [
                    "id",
                    "owner_id",
                    "version",
                    "status",
                    "closed",
                    "constructor",
                    "prototype",
                    "__proto__"
                  ]
                },
                "x-reserved-field-ids": [
                  "id",
                  "owner_id",
                  "version",
                  "status",
                  "closed"
                ]
              },
              "op": {
                "const": "count"
              }
            },
            "required": [
              "id",
              "op"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[a-z][a-z0-9_-]{0,47}$",
                "not": {
                  "enum": [
                    "id",
                    "owner_id",
                    "version",
                    "status",
                    "closed",
                    "constructor",
                    "prototype",
                    "__proto__"
                  ]
                },
                "x-reserved-field-ids": [
                  "id",
                  "owner_id",
                  "version",
                  "status",
                  "closed"
                ]
              },
              "op": {
                "enum": [
                  "sum",
                  "min",
                  "max"
                ]
              },
              "field": {
                "type": "string",
                "pattern": "^[a-z][a-z0-9_-]{0,47}$",
                "not": {
                  "enum": [
                    "id",
                    "owner_id",
                    "version",
                    "status",
                    "closed",
                    "constructor",
                    "prototype",
                    "__proto__"
                  ]
                },
                "x-reserved-field-ids": [
                  "id",
                  "owner_id",
                  "version",
                  "status",
                  "closed"
                ]
              }
            },
            "required": [
              "id",
              "op",
              "field"
            ],
            "additionalProperties": false
          }
        ]
      },
      "maxItems": 8,
      "minItems": 1
    }
  },
  "required": [
    "metrics"
  ],
  "additionalProperties": false
}
WorkspaceAggregateResult
json{
  "type": "object",
  "properties": {
    "groups": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "object",
            "additionalProperties": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "maxProperties": 4
          },
          "metrics": {
            "type": "object",
            "additionalProperties": {
              "type": [
                "number",
                "null"
              ]
            },
            "maxProperties": 8
          }
        },
        "required": [
          "key",
          "metrics"
        ],
        "additionalProperties": false
      },
      "maxItems": 199
    },
    "revision": {
      "type": "string",
      "description": "現在の権限で見える行集合の変更を表す不透明な文字列。同じ資源・取得条件で等値比較に使い、数値変換・加算・大小比較をしない。v1表やv2の状態変更用の整数revisionとは別契約。"
    },
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    }
  },
  "required": [
    "groups",
    "revision",
    "schema_version"
  ],
  "additionalProperties": false
}
WorkspaceBatch
json{
  "type": "object",
  "properties": {
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    },
    "expected_actor": {
      "type": "string",
      "format": "uuid",
      "description": "Optional compare-only precondition on the authenticated internal actor. Does not set or transfer ownership. Required by the resumable import SDK."
    },
    "operations": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "action": {
                "const": "create"
              },
              "values": {
                "type": "object",
                "additionalProperties": {
                  "type": [
                    "string",
                    "number",
                    "boolean",
                    "null"
                  ]
                },
                "maxProperties": 64
              },
              "status": {
                "enum": [
                  "draft",
                  "committed"
                ]
              }
            },
            "required": [
              "action",
              "values"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "action": {
                "const": "update"
              },
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "変更対象の既存行のUUID。行の取得・一覧応答のidを使用する。expected_actor(呼出本人ID)とは別。"
              },
              "version": {
                "type": "integer",
                "minimum": 1
              },
              "values": {
                "type": "object",
                "additionalProperties": {
                  "type": [
                    "string",
                    "number",
                    "boolean",
                    "null"
                  ]
                },
                "maxProperties": 64
              },
              "status": {
                "enum": [
                  "draft",
                  "committed"
                ]
              }
            },
            "required": [
              "action",
              "id",
              "version",
              "values"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "action": {
                "const": "delete"
              },
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "変更対象の既存行のUUID。行の取得・一覧応答のidを使用する。expected_actor(呼出本人ID)とは別。"
              },
              "version": {
                "type": "integer",
                "minimum": 1
              },
              "reason": {
                "type": "string",
                "minLength": 1,
                "maxLength": 500
              }
            },
            "required": [
              "action",
              "id",
              "version"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "action": {
                "enum": [
                  "close",
                  "reopen"
                ]
              },
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "変更対象の既存行のUUID。行の取得・一覧応答のidを使用する。expected_actor(呼出本人ID)とは別。"
              },
              "version": {
                "type": "integer",
                "minimum": 1
              },
              "reason": {
                "type": "string",
                "minLength": 1,
                "maxLength": 500
              }
            },
            "required": [
              "action",
              "id",
              "version",
              "reason"
            ],
            "additionalProperties": false
          }
        ]
      },
      "maxItems": 100,
      "minItems": 1
    }
  },
  "required": [
    "schema_version",
    "operations"
  ],
  "additionalProperties": false
}
WorkspaceBatchResult
json{
  "type": "object",
  "properties": {
    "rows": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "version": {
            "type": "integer",
            "minimum": 1
          },
          "deleted": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "version",
          "deleted"
        ],
        "additionalProperties": false
      },
      "maxItems": 100
    },
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    },
    "replayed": {
      "type": "boolean"
    }
  },
  "required": [
    "rows",
    "schema_version"
  ],
  "additionalProperties": false
}
WorkspaceCatalog
json{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "schema_version": {
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "id",
          "label",
          "schema_version"
        ],
        "additionalProperties": false
      },
      "maxItems": 100
    },
    "next_after": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "items",
    "next_after"
  ],
  "additionalProperties": false
}
WorkspaceChanges
json{
  "type": "object",
  "properties": {
    "revision": {
      "type": "string",
      "description": "現在の権限で見える行集合の変更を表す不透明な文字列。同じ資源・取得条件で等値比較に使い、数値変換・加算・大小比較をしない。v1表やv2の状態変更用の整数revisionとは別契約。"
    },
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    }
  },
  "required": [
    "revision",
    "schema_version"
  ],
  "additionalProperties": false
}
WorkspaceDefine
json{
  "type": "object",
  "properties": {
    "label": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    },
    "fields": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_-]{0,47}$",
            "not": {
              "enum": [
                "id",
                "owner_id",
                "version",
                "status",
                "closed",
                "constructor",
                "prototype",
                "__proto__"
              ]
            },
            "x-reserved-field-ids": [
              "id",
              "owner_id",
              "version",
              "status",
              "closed"
            ]
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "type": {
            "type": "string",
            "enum": [
              "text",
              "number",
              "boolean",
              "date",
              "choice",
              "time",
              "duration",
              "money_jpy",
              "case_ref",
              "asset_ref"
            ]
          },
          "required": {
            "type": "boolean"
          },
          "read": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z][a-z0-9_-]{0,47}$"
            },
            "maxItems": 32,
            "uniqueItems": true
          },
          "write": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z][a-z0-9_-]{0,47}$"
            },
            "maxItems": 32,
            "uniqueItems": true
          },
          "searchable": {
            "type": "boolean"
          },
          "choices": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128
            },
            "maxItems": 300
          },
          "computed": {
            "type": "object",
            "properties": {
              "start": {
                "type": "string"
              },
              "end": {
                "type": "string"
              },
              "overnight": {
                "type": "boolean"
              }
            },
            "required": [
              "start",
              "end",
              "overnight"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "id",
          "label",
          "type",
          "required",
          "read",
          "write",
          "searchable",
          "choices"
        ],
        "additionalProperties": false
      },
      "maxItems": 64,
      "minItems": 1
    },
    "export_roles": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[a-z][a-z0-9_-]{0,47}$"
      },
      "maxItems": 32,
      "uniqueItems": true
    }
  },
  "required": [
    "label",
    "fields",
    "export_roles"
  ],
  "additionalProperties": false
}
WorkspaceDefineResult
json{
  "type": "object",
  "properties": {
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    },
    "replayed": {
      "type": "boolean"
    }
  },
  "required": [
    "schema_version"
  ],
  "additionalProperties": false
}
WorkspaceDefinition
json{
  "type": "object",
  "properties": {
    "label": {
      "type": "string"
    },
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    },
    "fields": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          },
          "choices": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "readable": {
            "type": "boolean"
          },
          "owner_readable": {
            "type": "boolean"
          },
          "writable": {
            "type": "boolean"
          },
          "owner_writable": {
            "type": "boolean"
          },
          "searchable": {
            "type": "boolean"
          },
          "computed": {
            "type": "object",
            "properties": {
              "start": {
                "type": "string"
              },
              "end": {
                "type": "string"
              },
              "overnight": {
                "type": "boolean"
              }
            },
            "required": [
              "start",
              "end",
              "overnight"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "id",
          "label",
          "type",
          "required",
          "choices",
          "readable",
          "owner_readable",
          "writable",
          "owner_writable",
          "searchable"
        ],
        "additionalProperties": false
      },
      "maxItems": 64
    },
    "can_design": {
      "type": "boolean"
    },
    "can_close": {
      "type": "boolean"
    },
    "can_import": {
      "type": "boolean"
    },
    "can_export": {
      "type": "boolean"
    },
    "row_scope": {
      "type": "string",
      "enum": [
        "own",
        "all"
      ]
    },
    "limits": {
      "type": "object",
      "properties": {
        "rows": {
          "type": "integer",
          "minimum": 0
        },
        "fields": {
          "type": "integer",
          "minimum": 0
        },
        "batch": {
          "type": "integer",
          "minimum": 0
        },
        "page": {
          "type": "integer",
          "minimum": 0
        }
      },
      "required": [
        "rows",
        "fields",
        "batch",
        "page"
      ],
      "additionalProperties": false
    },
    "delete_scope": {
      "enum": [
        "none",
        "own",
        "all"
      ],
      "description": "Separate human deletion scope when workspace_access is installed. Existing read, field, closed-row and membership checks still apply."
    }
  },
  "required": [
    "label",
    "schema_version",
    "fields",
    "can_design",
    "can_close",
    "can_import",
    "can_export",
    "row_scope",
    "limits"
  ],
  "additionalProperties": false
}
WorkspaceEvents
json{
  "type": "object",
  "properties": {
    "cursor": {
      "type": "string",
      "maxLength": 4096
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 199
    }
  },
  "required": [],
  "additionalProperties": false
}
WorkspaceEventsResult
json{
  "type": "object",
  "properties": {
    "events": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "row_id": {
            "type": "string",
            "format": "uuid"
          },
          "version": {
            "type": "integer",
            "minimum": 1
          },
          "kind": {
            "enum": [
              "created",
              "updated",
              "deleted"
            ]
          }
        },
        "required": [
          "id",
          "row_id",
          "version",
          "kind"
        ],
        "additionalProperties": false
      },
      "maxItems": 199
    },
    "has_more": {
      "type": "boolean"
    },
    "cursor": {
      "type": "string"
    },
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    }
  },
  "required": [
    "events",
    "has_more",
    "cursor",
    "schema_version"
  ],
  "additionalProperties": false
}
WorkspaceExport
json{
  "type": "object",
  "properties": {
    "csv": {
      "type": "string"
    },
    "next_cursor": {
      "type": [
        "string",
        "null"
      ]
    },
    "revision": {
      "type": "string",
      "description": "現在の権限で見える行集合の変更を表す不透明な文字列。同じ資源・取得条件で等値比較に使い、数値変換・加算・大小比較をしない。v1表やv2の状態変更用の整数revisionとは別契約。"
    },
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    }
  },
  "required": [
    "csv",
    "next_cursor",
    "revision",
    "schema_version"
  ],
  "additionalProperties": false
}
WorkspaceMember
json{
  "type": "object",
  "properties": {
    "enabled": {
      "type": "boolean"
    },
    "write": {
      "type": "boolean"
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "enabled",
    "write",
    "expires_at"
  ],
  "additionalProperties": false
}
WorkspaceMembers
json{
  "type": "object",
  "properties": {
    "members": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "actor": {
            "type": "string",
            "format": "uuid"
          },
          "version": {
            "type": "integer",
            "minimum": 1
          },
          "enabled": {
            "type": "boolean"
          },
          "write": {
            "type": "boolean"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "actor",
          "version",
          "enabled",
          "write",
          "expires_at"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "members"
  ],
  "additionalProperties": false
}
WorkspaceQueryResult
json{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "version": {
            "type": "integer",
            "minimum": 1
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "committed"
            ]
          },
          "closed": {
            "type": "boolean"
          },
          "is_owner": {
            "type": "boolean"
          },
          "values": {
            "type": "object",
            "additionalProperties": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "maxProperties": 64
          }
        },
        "required": [
          "id",
          "version",
          "status",
          "closed",
          "is_owner",
          "values"
        ],
        "additionalProperties": false
      },
      "maxItems": 199
    },
    "next_cursor": {
      "type": [
        "string",
        "null"
      ]
    },
    "revision": {
      "type": "string",
      "description": "現在の権限で見える行集合の変更を表す不透明な文字列。同じ資源・取得条件で等値比較に使い、数値変換・加算・大小比較をしない。v1表やv2の状態変更用の整数revisionとは別契約。"
    },
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    }
  },
  "required": [
    "items",
    "next_cursor",
    "revision",
    "schema_version"
  ],
  "additionalProperties": false
}
WorkspaceRestore
json{
  "type": "object",
  "properties": {
    "version": {
      "type": "integer",
      "minimum": 1,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    },
    "reason": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    }
  },
  "required": [
    "version",
    "reason"
  ],
  "additionalProperties": false
}
WorkspaceRestoreResult
json{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "version": {
      "type": "integer",
      "minimum": 1,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    },
    "trash_id": {
      "type": "string",
      "format": "uuid"
    },
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    },
    "replayed": {
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "version",
    "trash_id",
    "schema_version"
  ],
  "additionalProperties": false
}
WorkspaceRowResult
json{
  "type": "object",
  "properties": {
    "item": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "version": {
          "type": "integer",
          "minimum": 1
        },
        "status": {
          "type": "string",
          "enum": [
            "draft",
            "committed"
          ]
        },
        "closed": {
          "type": "boolean"
        },
        "is_owner": {
          "type": "boolean"
        },
        "values": {
          "type": "object",
          "additionalProperties": {
            "type": [
              "string",
              "number",
              "boolean",
              "null"
            ]
          },
          "maxProperties": 64
        }
      },
      "required": [
        "id",
        "version",
        "status",
        "closed",
        "is_owner",
        "values"
      ],
      "additionalProperties": false
    },
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    }
  },
  "required": [
    "item",
    "schema_version"
  ],
  "additionalProperties": false
}
WorkspaceSocketVersion
json{
  "type": "object",
  "properties": {
    "version": {
      "type": "integer",
      "minimum": 1,
      "description": "この資源自身の版。最新の取得結果と照合する。"
    },
    "replayed": {
      "type": "boolean"
    }
  },
  "required": [
    "version"
  ],
  "additionalProperties": false
}
WorkspaceTableLifecycle
json{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "label": {
      "type": "string"
    },
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    },
    "state": {
      "enum": [
        "active",
        "trashed"
      ]
    },
    "revision": {
      "type": "integer",
      "minimum": 0,
      "description": "この応答が表す資源・一覧の変更版。別資源へ流用しない。"
    },
    "owner_app": {
      "type": [
        "string",
        "null"
      ]
    },
    "deleted_at": {
      "type": [
        "string",
        "null"
      ]
    },
    "restore_until": {
      "type": [
        "string",
        "null"
      ]
    },
    "reason": {
      "type": [
        "string",
        "null"
      ]
    },
    "blockers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "kind": {
            "enum": [
              "shared_app",
              "child_table"
            ]
          },
          "id": {
            "type": "string"
          }
        },
        "required": [
          "kind",
          "id"
        ],
        "additionalProperties": false
      }
    },
    "retention_days": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 1,
      "maximum": 3650
    },
    "replayed": {
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "label",
    "schema_version",
    "state",
    "revision",
    "owner_app",
    "deleted_at",
    "restore_until",
    "reason",
    "blockers",
    "retention_days"
  ],
  "additionalProperties": false
}
WorkspaceTableTransition
json{
  "type": "object",
  "properties": {
    "action": {
      "enum": [
        "trash",
        "restore"
      ]
    },
    "revision": {
      "type": "integer",
      "minimum": 0,
      "description": "この応答が表す資源・一覧の変更版。別資源へ流用しない。"
    },
    "schema_version": {
      "type": "integer",
      "minimum": 1,
      "description": "表の列定義の版。行versionとは別。"
    },
    "reason": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    }
  },
  "required": [
    "action",
    "revision",
    "schema_version",
    "reason"
  ],
  "additionalProperties": false
}
WorkspaceTableTrash
json{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "schema_version": {
            "type": "integer",
            "minimum": 1
          },
          "state": {
            "enum": [
              "active",
              "trashed"
            ]
          },
          "revision": {
            "type": "integer",
            "minimum": 0
          },
          "owner_app": {
            "type": [
              "string",
              "null"
            ]
          },
          "deleted_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "restore_until": {
            "type": [
              "string",
              "null"
            ]
          },
          "reason": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "label",
          "schema_version",
          "state",
          "revision",
          "owner_app",
          "deleted_at",
          "restore_until",
          "reason"
        ],
        "additionalProperties": false
      },
      "maxItems": 100
    },
    "next_after": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "items",
    "next_after"
  ],
  "additionalProperties": false
}
WorkspaceTransaction
json{
  "type": "object",
  "properties": {
    "tables": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "collection": {
            "type": "string"
          },
          "schema_version": {
            "type": "integer",
            "minimum": 1
          },
          "operations": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "type": "object",
                  "properties": {
                    "action": {
                      "const": "create"
                    },
                    "values": {
                      "type": "object",
                      "additionalProperties": {
                        "type": [
                          "string",
                          "number",
                          "boolean",
                          "null"
                        ]
                      },
                      "maxProperties": 64
                    },
                    "status": {
                      "enum": [
                        "draft",
                        "committed"
                      ]
                    }
                  },
                  "required": [
                    "action",
                    "values"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "properties": {
                    "action": {
                      "const": "update"
                    },
                    "id": {
                      "type": "string",
                      "format": "uuid",
                      "description": "変更対象の既存行のUUID。行の取得・一覧応答のidを使用する。expected_actor(呼出本人ID)とは別。"
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "values": {
                      "type": "object",
                      "additionalProperties": {
                        "type": [
                          "string",
                          "number",
                          "boolean",
                          "null"
                        ]
                      },
                      "maxProperties": 64
                    },
                    "status": {
                      "enum": [
                        "draft",
                        "committed"
                      ]
                    }
                  },
                  "required": [
                    "action",
                    "id",
                    "version",
                    "values"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "properties": {
                    "action": {
                      "const": "delete"
                    },
                    "id": {
                      "type": "string",
                      "format": "uuid",
                      "description": "変更対象の既存行のUUID。行の取得・一覧応答のidを使用する。expected_actor(呼出本人ID)とは別。"
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "reason": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 500
                    }
                  },
                  "required": [
                    "action",
                    "id",
                    "version"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "properties": {
                    "action": {
                      "enum": [
                        "close",
                        "reopen"
                      ]
                    },
                    "id": {
                      "type": "string",
                      "format": "uuid",
                      "description": "変更対象の既存行のUUID。行の取得・一覧応答のidを使用する。expected_actor(呼出本人ID)とは別。"
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "reason": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 500
                    }
                  },
                  "required": [
                    "action",
                    "id",
                    "version",
                    "reason"
                  ],
                  "additionalProperties": false
                }
              ]
            },
            "maxItems": 100,
            "minItems": 1
          }
        },
        "required": [
          "collection",
          "schema_version",
          "operations"
        ],
        "additionalProperties": false
      },
      "maxItems": 8,
      "minItems": 1
    },
    "expected_actor": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "tables"
  ],
  "additionalProperties": false
}
WorkspaceTransactionResult
json{
  "type": "object",
  "properties": {
    "transaction_id": {
      "type": "string",
      "format": "uuid"
    },
    "tables": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "collection": {
            "type": "string"
          },
          "rows": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "version": {
                  "type": "integer",
                  "minimum": 1
                },
                "deleted": {
                  "type": "boolean"
                }
              },
              "required": [
                "id",
                "version",
                "deleted"
              ],
              "additionalProperties": false
            },
            "maxItems": 100
          },
          "schema_version": {
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "collection",
          "rows",
          "schema_version"
        ],
        "additionalProperties": false
      },
      "maxItems": 8
    },
    "replayed": {
      "type": "boolean"
    }
  },
  "required": [
    "transaction_id",
    "tables"
  ],
  "additionalProperties": false
}
WorkspaceTrashList
json{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "trash_id": {
            "type": "string",
            "format": "uuid"
          },
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "version": {
            "type": "integer",
            "minimum": 1
          },
          "deleted_at": {
            "type": "string",
            "format": "date-time"
          },
          "restore_until": {
            "type": "string",
            "format": "date-time"
          },
          "reason": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_owner": {
            "type": "boolean"
          },
          "schema_unchanged": {
            "type": "boolean"
          }
        },
        "required": [
          "trash_id",
          "id",
          "version",
          "deleted_at",
          "restore_until",
          "reason",
          "is_owner",
          "schema_unchanged"
        ],
        "additionalProperties": false
      },
      "maxItems": 100
    },
    "next_after": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "items",
    "next_after"
  ],
  "additionalProperties": false
}
WorkspaceTrashPolicy
json{
  "type": "object",
  "properties": {
    "configured": {
      "type": "boolean"
    },
    "retention_days": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 1,
      "maximum": 3650
    }
  },
  "required": [
    "configured",
    "retention_days"
  ],
  "additionalProperties": false
}