アカウント
アカウント課金操作の取得
このワークスペースの見積もりとアカウント作成・削除・返金の処理結果を確認できます。
https://api.unifyport.ai/v1/account-operations/{operation_id}対応チャネル
呼び出す前に
対象ワークスペースの X-Api-Key をサーバー側で使用します。実行前にすべてのプレースホルダーを置き換えます。
対象ワークスペースの API Key を使います。ウォレット払いのアカウントは USD で 30 日間分が課金されます。残高照会とチャージは Dashboard で行えます。
リクエストパラメータ
ヘッダー
X-Api-Keyワークスペース API キー。このヘッダーからワークスペースを特定します。
パスパラメータ
operation_idbilling.operation_id または削除応答の公開 ID。同じワークスペースで原文のまま使います。
リクエストボディ
このエンドポイントは JSON ボディを必要としません。
結果の確認
元の operation_id を保持します。PENDING/PROCESSING は待機、REVIEW は照合が必要です。SUCCEEDED/FAILED は操作結果で認証や自動返金を示しません。返金はサーバー記録を確認します。
レスポンス 200 OK
{
"request_id": "<REQUEST_ID>",
"data": {
"operation_id": "op_example",
"kind": "DELETE",
"state": "REVIEW",
"account_id": "acc_example",
"last_error_code": "cleanup_unconfirmed"
}
}
レスポンスボディ
operation_idbilling.operation_id または削除応答の公開 ID。同じワークスペースで原文のまま使います。
kind公開種別:QUOTE / CREATE、DELETE、COMPENSATE。
enum: QUOTE, CREATE, DELETE, COMPENSATE
state課金・操作状態。認証、接続、返金入金を証明しません。
enum: QUOTED, CONSUMED, EXPIRED, PENDING, PROCESSING, SUCCEEDED, FAILED, REVIEW
account_idこのワークスペースの公開メッセージングアカウント ID。
last_error_code安全な公開結果コード。欠落は成功の証明ではありません。
レスポンス
200200 OK
リクエスト成功。レスポンスボディの例を参照してください。
400Bad Request
リクエストボディ、パス、またはパラメータが不正です。
401Unauthorized
X-Api-Key ヘッダが欠落しているか無効です。
403Forbidden
リクエストは識別されましたが、この操作は許可されていません。
404Not Found
要求されたリソースが見つかりません。error.code と現在の操作を合わせて確認してください。
409Conflict
要求された操作が、既存のプロバイダアカウントまたはリソースと競合しています。
503Service Unavailable
必要なバックエンドサービスが一時的に利用できません。
失敗時の対応
HTTP 状態と error.code/numeric_code を確認し、request_id を保存します。原因に応じてパラメーター修正・認証・状態確認を行い、送信や書き込みの再試行前に前回の結果を確認します。 エラーリファレンス
HTTP ステータス、error.code、error.numeric_code を現在の操作と合わせて確認します。数値コードは文字列です。request_id は調査用で、冪等性キーやタスク ID ではありません。
- invalid_request · 10000 · 400
JSON 本文と必須項目を確認してください。
発生条件: 空でないリクエスト本文を送り、Content-Type が application/json ではない場合に適用されます。
対処と再試行: 操作とチャネルの条件に従ってパラメーターを修正してから再実行します。同じ無効なリクエストを繰り返しても解決しません。
JSON の例です。message は実際の原因によって変わります · 400 · 10000
{ "request_id": "req_example", "error": { "code": "invalid_request", "numeric_code": "10000", "message": "Content-Type must be application/json" } }- invalid_target_workspace · 11003 · 400
上書き対象のワークスペースが空、または形式が無効です。上書き用ヘッダーを削除し、対象ワークスペースの API Key を使用してください。
発生条件: ワークスペースを上書きする X-Workspace-Id リクエストヘッダーを送った場合に適用されます。
対処と再試行: 操作とチャネルの条件に従ってパラメーターを修正してから再実行します。同じ無効なリクエストを繰り返しても解決しません。
JSON の例です。message は実際の原因によって変わります · 400 · 11003
{ "request_id": "req_example", "error": { "code": "invalid_target_workspace", "numeric_code": "11003", "message": "Invalid target workspace" } }- invalid_api_key · 11001 · 401
API Key が正しく有効か確認してください。
対処と再試行: request_id と構造化されたコードを保存し、現在の操作を調査してから次の対応を決めます。
JSON の例です。message は実際の原因によって変わります · 401 · 11001
{ "request_id": "req_example", "error": { "code": "invalid_api_key", "numeric_code": "11001", "message": "Invalid API key" } }- missing_api_key · 11000 · 401
X-Api-Key ヘッダーを追加してください。
対処と再試行: request_id と構造化されたコードを保存し、現在の操作を調査してから次の対応を決めます。
例 · 401 · 11000
{ "request_id": "req_xxx", "error": { "code": "missing_api_key", "numeric_code": "11000", "message": "Missing X-Api-Key header" } }- workspace_override_forbidden · 11002 · 403
この API Key に許可されていないワークスペースの上書きを要求しています。上書き用ヘッダーを削除し、対象ワークスペースの API Key を使用してください。
発生条件: ワークスペースを上書きする X-Workspace-Id リクエストヘッダーを送った場合に適用されます。
対処と再試行: request_id と構造化されたコードを保存し、現在の操作を調査してから次の対応を決めます。
JSON の例です。message は実際の原因によって変わります · 403 · 11002
{ "request_id": "req_example", "error": { "code": "workspace_override_forbidden", "numeric_code": "11002", "message": "Workspace override is not allowed" } }- account_operation_not_found · 20029 · 404
操作が存在しないか別のワークスペースに属します。元の operation_id と API Key の範囲を確認してください。
対処と再試行: 対象の識別子、所有範囲、現在のワークスペースを確認します。不存在やアクセス不可が確認された対象を、一時的なサービス障害として自動再試行しないでください。
JSON の例です。message は実際の原因によって変わります · 404 · 20029
{ "request_id": "req_example", "error": { "code": "account_operation_not_found", "numeric_code": "20029", "message": "Account operation not found" } }- target_workspace_not_found · 11004 · 404
上書きで指定したワークスペースが存在しないか利用できません。所有範囲を確認し、上書き用ヘッダーを削除して対象ワークスペースの API Key を使用します。再試行で権限は増えません。
発生条件: ワークスペースを上書きする X-Workspace-Id リクエストヘッダーを送った場合に適用されます。
対処と再試行: 対象の識別子、所有範囲、現在のワークスペースを確認します。不存在やアクセス不可が確認された対象を、一時的なサービス障害として自動再試行しないでください。
JSON の例です。message は実際の原因によって変わります · 404 · 11004
{ "request_id": "req_example", "error": { "code": "target_workspace_not_found", "numeric_code": "11004", "message": "Target workspace not found" } }- wallet_workspace_disabled · 20022 · 409
残高による新規購入は無効です。既存の操作が取り消されたことを意味しません。
対処と再試行: request_id と構造化されたコードを保存し、現在の操作を調査してから次の対応を決めます。
JSON の例です。message は実際の原因によって変わります · 409 · 20022
{ "request_id": "req_example", "error": { "code": "wallet_workspace_disabled", "numeric_code": "20022", "message": "New wallet purchases are disabled" } }- wallet_unavailable · 20028 · 503
ウォレットのデータまたは設定が利用できません。書き込み結果が不明な場合は元の操作を確認してください。
対処と再試行: request_id を保存し、識別子とアカウントのアクセス範囲を確認します。原因を確認してから照会を再試行してください。照会失敗は空の結果やリソースの不存在を意味しません。
JSON の例です。message は実際の原因によって変わります · 503 · 20028
{ "request_id": "req_example", "error": { "code": "wallet_unavailable", "numeric_code": "20028", "message": "Wallet service is unavailable" } }