Skip to main content
GET
/
v2
/
policy-approvals
List Approvals
curl --request GET \
  --url https://api.dfns.io/v2/policy-approvals \
  --header 'Authorization: Bearer <token>'
{
  "items": [
    {
      "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",
            "targetChain": "<string>",
            "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"
        }
      ]
    }
  ],
  "nextPageToken": "<string>"
}

Authentication

✅ Organization User (CustomerEmployee)
❌ Delegated User (EndUser)
✅ Service Account

Required Permissions

Policies:Approvals:Read: Always required.

Authorizations

Authorization
string
header
required

Bearer Token: Used to authenticate API requests. More details how to generate the token: Authentication flows

Query Parameters

limit
string
paginationToken
string
Minimum length: 1
status
enum<string>
Available options:
Pending,
Approved,
Denied,
Expired
initiatorId
string
approverId
string

Response

200 - application/json

Success

items
object[]
required
nextPageToken
string
I