Skip to main content
GET
/
platform
/
admin
/
proposals
/
{proposalId}
/
approve
Get proposal approval details
curl --request GET \
  --url https://api.example.com/platform/admin/proposals/{proposalId}/approve
{
  "isSuccess": true,
  "isFailure": false,
  "error": null,
  "value": {
    "id": 42,
    "name": "Example"
  }
}

Description

Fetches comprehensive approval details for a transaction proposal, showing which custodians have approved, remaining approvals needed, and the approval threshold configuration. Essential for tracking multi-signature workflow progress.

Input

  • proposalId (long, required) — The unique identifier of the transaction proposal.

Output

Returns a containing:
  • proposalId (long) — The proposal identifier.
  • approvalThreshold (int) — Number of approvals required for execution.
  • currentApprovals (int) — Number of approvals received so far.
  • custodians (array) — List of custodian wallet tenants with their approval status.
  • isReadyForExecution (bool) — True if approval threshold has been met.

Examples

Request
GET /api/platform/tenant/transaction-proposals/10001/approval
Response (200 OK)
{
  "proposalId": 10001,
  "approvalThreshold": 3,
  "currentApprovals": 2,
  "custodians": [
    {
      "walletTenantId": 2048,
      "walletName": "Custodian Wallet A",
      "hasApproved": true,
      "approvalDate": "2024-11-01T10:35:00Z"
    },
    {
      "walletTenantId": 3001,
      "walletName": "Custodian Wallet B",
      "hasApproved": true,
      "approvalDate": "2024-11-01T11:20:00Z"
    },
    {
      "walletTenantId": 4005,
      "walletName": "Custodian Wallet C",
      "hasApproved": false,
      "approvalDate": null
    }
  ],
  "isReadyForExecution": false
}

Errors

  • 400 Bad Request: Proposal ID is invalid or malformed.
  • 401 Unauthorized: Caller is not authenticated.
  • 403 Forbidden: Caller lacks permission to view approval details.
  • 404 Not Found: Proposal with specified ID does not exist.
  • 500 Internal Server Error: An unexpected error occurred.

Notes

The approval threshold is configured per wallet and determines how many custodian approvals are required before a proposal can be executed. Use this endpoint to track approval progress and determine if execution is possible.

Path Parameters

proposalId
integer<int64>
required

The unique identifier of the transaction proposal.

Query Parameters

api-version
string | null

Response

Proposal approval details retrieved successfully.

Wrapper for API operation results containing success status, error information, and return value.

isSuccess
boolean

True if the operation completed successfully, false otherwise.

Example:

true

isFailure
boolean

True if the operation failed, false otherwise.

Example:

false

error
object

Error information returned when the operation fails.

Example:
{
"code": "ValidationError",
"message": "The request parameters failed validation.",
"info": [
"The Name field is required.",
"The Id field must be greater than 0."
]
}
value
object

The result value returned when the operation is successful.

Example:
{
"proposalId": 10001,
"blockchainId": 137,
"network": "Polygon",
"operationType": "Mint",
"transactionJson": "{\"to\":\"0x1234...\",\"data\":\"0xabcdef\"}",
"safeWalletAddress": "0x1234567890abcdef1234567890abcdef12345678",
"thresholdCurrent": 1,
"thresholdTotal": 2,
"custodianRows": [
{
"walletTenantId": 2048,
"walletName": "Main Wallet",
"walletAddress": "0x1234...",
"activeCustodians": 2,
"approval": 1,
"status": "Pending",
"blockchainId": 137
}
]
}