Skip to main content
WEBHOOK
policy.approval.pending
{
  "id": "<string>",
  "date": "2023-11-07T05:31:56Z",
  "kind": "policy.approval.pending",
  "data": {
    "approval": {
      "id": "<string>",
      "initiatorId": "<string>",
      "activity": {
        "kind": "Wallets:Sign",
        "transferRequest": {
          "id": "<string>",
          "walletId": "<string>",
          "network": "Algorand",
          "requester": {
            "userId": "<string>",
            "tokenId": "<string>"
          },
          "requestBody": {
            "kind": "Native",
            "to": "<string>",
            "amount": "<string>",
            "memo": "<string>",
            "priority": "Slow",
            "createDestinationAccount": true,
            "offer": true,
            "expiresAt": "2023-11-07T05:31:56Z",
            "externalId": "<string>",
            "travelRule": {
              "kind": "Notabene",
              "beneficiaryVASPdid": "<string>",
              "beneficiaryProof": {},
              "originator": {},
              "beneficiary": {}
            },
            "feeSponsorId": "<string>"
          },
          "metadata": {
            "asset": {
              "symbol": "<string>",
              "decimals": 123,
              "verified": true,
              "quotes": {
                "EUR": 123,
                "USD": 123
              }
            }
          },
          "status": "Pending",
          "reason": "<string>",
          "txHash": "<string>",
          "fee": "<string>",
          "dateRequested": "<string>",
          "datePolicyResolved": "<string>",
          "dateBroadcasted": "<string>",
          "dateConfirmed": "<string>",
          "approvalId": "<string>",
          "externalId": "<string>",
          "feeSponsorId": "<string>"
        },
        "transactionRequest": {
          "id": "<string>",
          "walletId": "<string>",
          "network": "Algorand",
          "requester": {
            "userId": "<string>",
            "tokenId": "<string>"
          },
          "requestBody": {
            "kind": "Transaction",
            "transaction": "<string>",
            "externalId": "<string>"
          },
          "status": "Pending",
          "reason": "<string>",
          "txHash": "<string>",
          "fee": "<string>",
          "approvalId": "<string>",
          "dateRequested": "<string>",
          "datePolicyResolved": "<string>",
          "dateBroadcasted": "<string>",
          "dateConfirmed": "<string>",
          "externalId": "<string>"
        },
        "signatureRequest": {
          "id": "<string>",
          "keyId": "<string>",
          "requester": {
            "userId": "<string>",
            "tokenId": "<string>"
          },
          "requestBody": {
            "kind": "Hash",
            "hash": "<string>",
            "taprootMerkleRoot": "<string>",
            "network": "Algorand",
            "blockchainKind": "Algorand",
            "externalId": "<string>"
          },
          "status": "Pending",
          "reason": "<string>",
          "signature": {
            "r": "<string>",
            "s": "<string>",
            "recid": 123,
            "encoded": "<string>"
          },
          "signatures": [
            {
              "r": "<string>",
              "s": "<string>",
              "recid": 123,
              "encoded": "<string>"
            }
          ],
          "signedData": "<string>",
          "network": "Algorand",
          "txHash": "<string>",
          "fee": "<string>",
          "approvalId": "<string>",
          "dateRequested": "<string>",
          "datePolicyResolved": "<string>",
          "dateSigned": "<string>",
          "dateConfirmed": "<string>",
          "externalId": "<string>"
        },
        "swapRequest": {
          "id": "swap-6a3ku-bn8d7-8u5rs1oukojms7k8",
          "quoteId": "swapQuote-3hgv4-q8tbf-8v2ajmrbmg6m4i9t",
          "reference": null,
          "walletId": "wa-3l3cj-l8mq7-8q78f9nopq7f1qjv",
          "targetWalletId": "wa-3l3cj-l8mq7-8q78f9nopq7f1qjv",
          "status": "PendingPolicyApproval",
          "provider": "UniswapClassic",
          "quotedSourceAsset": {
            "kind": "Native",
            "amount": "10000000000",
            "metadata": {
              "network": "EthereumSepolia",
              "name": "Ethereum",
              "symbol": "SepoliaETH",
              "decimals": 18,
              "tid": "native:eth"
            }
          },
          "quotedTargetAsset": {
            "kind": "Erc20",
            "contract": "0xda0be7efd234295395d4204d0df4358339b57b27",
            "amount": "6467571553831928182",
            "metadata": {
              "network": "EthereumSepolia",
              "name": "Test",
              "symbol": "Test",
              "decimals": 18,
              "tid": "erc20:0xda0be7efd234295395d4204d0df4358339b57b27"
            }
          },
          "slippageBps": 100,
          "dateCreated": "2025-09-11T10:57:55.758Z",
          "requestBody": {
            "quoteId": "swapQuote-3hgv4-q8tbf-8v2ajmrbmg6m4i9t",
            "walletId": "wa-3l3cj-l8mq7-8q78f9nopq7f1qjv",
            "targetWalletId": "wa-3l3cj-l8mq7-8q78f9nopq7f1qjv",
            "provider": "UniswapClassic",
            "slippageBps": 100,
            "sourceAsset": {
              "kind": "Native",
              "amount": "10000000000"
            },
            "targetAsset": {
              "kind": "Erc20",
              "contract": "0xda0be7efd234295395d4204d0df4358339b57b27",
              "amount": "653003161"
            }
          },
          "requester": {
            "userId": "us-48r5q-eshfg-9pmr2lo6bmpr4i4i",
            "tokenId": "to-4etah-smoal-9n3rmhul4dpaueg5"
          }
        }
      },
      "status": "Pending",
      "expirationDate": "<string>",
      "dateCreated": "<string>",
      "dateUpdated": "<string>",
      "dateResolved": "<string>",
      "policyEvaluations": [
        {
          "policyId": "<string>",
          "triggered": true,
          "reason": "<string>"
        }
      ],
      "decisions": [
        {
          "userId": "<string>",
          "date": "<string>",
          "reason": "<string>",
          "value": "Approved"
        }
      ]
    }
  },
  "retryOf": "<string>",
  "timestampSent": 123,
  "deliveryAttempt": 2
}

Body

application/json
id
string
required
date
string<date-time>
required
kind
enum<string>
required
Available options:
policy.approval.pending
data
object
required
timestampSent
integer
required
deliveryAttempt
integer
required
Required range: x >= 1
retryOf
string

Response

200

Respond with a 200 to indicate that the event was successfully received. If your endpoint returns anything else than a 200 status code, we will consider the delivery has failed and retry later. See details here.