Skip to main content
WEBHOOK
policy.approval.pending
{
  "id": "<string>",
  "date": "2023-11-07T05:31:56Z",
  "timestampSent": 123,
  "deliveryAttempt": 2,
  "data": {
    "approval": {
      "id": "<string>",
      "initiatorId": "<string>",
      "activity": {
        "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"
          }
        }
      },
      "dateUpdated": "<string>",
      "policyEvaluations": [
        {
          "policyId": "<string>",
          "triggered": true,
          "reason": "<string>",
          "context": "<unknown>"
        }
      ],
      "decisions": [
        {
          "userId": "<string>",
          "date": "<string>",
          "reason": "<string>"
        }
      ],
      "expirationDate": "<string>",
      "dateCreated": "<string>",
      "dateResolved": "<string>"
    }
  },
  "retryOf": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://docs.dfns.co/llms.txt

Use this file to discover all available pages before exploring further.

Body

application/json
id
string
required

Unique identifier for this webhook event

date
string<date-time>
required

ISO 8601 timestamp when the event occurred

timestampSent
integer
required

Unix timestamp when the event was sent

deliveryAttempt
integer
required

Delivery attempt number

Required range: x >= 1
kind
enum<string>
required
Available options:
policy.approval.pending
data
object
required
retryOf
string

ID of the original event if this is a retry

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.

Last modified on May 22, 2026