Skip to main content
POST
/
policies
/
proposals
/
add
cURL
curl --request POST \
  --url https://api.onchainden.com/api/v1/policies/proposals/add \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'X-Idempotency-Key: <x-idempotency-key>' \
  --data '
{
  "policies": [
    {
      "name": "Small USDC Transfers",
      "type": "AUTO_APPROVAL",
      "transactionType": "TOKEN_TRANSFER",
      "networkId": 1,
      "accountIds": [
        "acc_1"
      ],
      "initiatorSetting": null,
      "approverSetting": null,
      "limitation": null,
      "tokenTransferCondition": {
        "tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
        "amountThreshold": "1000000000",
        "destinationAddresses": []
      }
    }
  ]
}
'
{
  "data": {
    "id": "prop_pol_add_123",
    "resourceType": "policies",
    "action": "create",
    "signatureStatus": "approvalReady",
    "executionStatus": "completed",
    "threshold": 2,
    "approvals": [],
    "rejections": [],
    "createdAt": "2026-01-18T00:00:00.000Z",
    "expiresAt": "2026-01-25T00:00:00.000Z",
    "data": {
      "policies": [
        {
          "name": "Small USDC Transfers",
          "type": "AUTO_APPROVAL",
          "transactionType": "TOKEN_TRANSFER",
          "networkId": 1,
          "accountIds": [
            "acc_1"
          ],
          "initiatorSetting": null,
          "approverSetting": null,
          "limitation": null,
          "tokenTransferCondition": {
            "tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
            "amountThreshold": "1000000000",
            "destinationAddresses": []
          }
        }
      ]
    },
    "result": {
      "resolution": "approved",
      "resources": [
        {
          "type": "policy",
          "id": "pol_new1",
          "uri": "/api/v1/policies/pol_new1"
        }
      ]
    }
  }
}

Authorizations

Authorization
string
header
required

API key authentication. Include your API key in the Authorization header.

Headers

X-Idempotency-Key
string<uuid>
required

Idempotency key for safely retrying mutation requests.

Body

application/json
policies
(Token Transfer · object | Contract Interaction · object | Any Transaction · object)[]
required

List of new policies to add (must not include id)

Response

Policy add proposal created

data
object
required
Example:
{
"id": "prop_pol_add_123",
"resourceType": "policies",
"action": "create",
"signatureStatus": "approvalReady",
"executionStatus": "completed",
"threshold": 2,
"approvals": [],
"rejections": [],
"createdAt": "2026-01-18T00:00:00.000Z",
"expiresAt": "2026-01-25T00:00:00.000Z",
"data": {
"policies": [
{
"name": "Small USDC Transfers",
"type": "AUTO_APPROVAL",
"transactionType": "TOKEN_TRANSFER",
"networkId": 1,
"accountIds": ["acc_1"],
"initiatorSetting": null,
"approverSetting": null,
"limitation": null,
"tokenTransferCondition": {
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"amountThreshold": "1000000000",
"destinationAddresses": []
}
}
]
},
"result": {
"resolution": "approved",
"resources": [
{
"type": "policy",
"id": "pol_new1",
"uri": "/api/v1/policies/pol_new1"
}
]
}
}