Policies
Propose removing policies
[Admin Only] Creates a proposal to remove policies from the organization. Only admin API members can make requests to this endpoint.
POST
/
policies
/
proposals
/
remove
cURL
curl --request POST \
--url https://api.onchainden.com/api/v1/policies/proposals/remove \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Idempotency-Key: <x-idempotency-key>' \
--data '
{
"policyIds": [
"pol_999",
"pol_888"
]
}
'const client = new DenClient({ apiKey: 'ck_live_...' });
const proposal = await client.createUpdatePoliciesProposal({
changes: [
{ action: 'remove', data: { id: 'pol_999' } },
{ action: 'remove', data: { id: 'pol_888' } },
],
});
{
"data": {
"id": "prop_pol_remove_123",
"resourceType": "policies",
"action": "remove",
"signatureStatus": "approvalReady",
"executionStatus": "completed",
"threshold": 2,
"approvals": [],
"rejections": [],
"createdAt": "2026-01-18T00:00:00.000Z",
"expiresAt": "2026-01-25T00:00:00.000Z",
"data": {
"policies": [
{
"id": "pol_999",
"name": "Legacy Transfers",
"type": "AUTO_APPROVAL",
"transactionType": "ANY",
"networkId": 1,
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-02T00:00:00.000Z"
},
{
"id": "pol_888",
"name": "Old Allowlist Policy",
"type": "AUTO_APPROVAL",
"transactionType": "ANY",
"networkId": 1,
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-02T00:00:00.000Z"
}
]
},
"result": {
"resolution": "approved",
"resources": [
{
"type": "policy",
"id": "pol_999"
},
{
"type": "policy",
"id": "pol_888"
}
]
}
}
}Authorizations
API key authentication. Include your API key in the Authorization header.
Headers
Idempotency key for safely retrying mutation requests.
Body
application/json
List of policy IDs to remove
Response
Policy removal proposal created
Show child attributes
Show child attributes
Example:
{
"id": "prop_pol_remove_123",
"resourceType": "policies",
"action": "remove",
"signatureStatus": "approvalReady",
"executionStatus": "completed",
"threshold": 2,
"approvals": [],
"rejections": [],
"createdAt": "2026-01-18T00:00:00.000Z",
"expiresAt": "2026-01-25T00:00:00.000Z",
"data": {
"policies": [
{
"id": "pol_999",
"name": "Legacy Transfers",
"type": "AUTO_APPROVAL",
"transactionType": "ANY",
"networkId": 1,
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-02T00:00:00.000Z"
},
{
"id": "pol_888",
"name": "Old Allowlist Policy",
"type": "AUTO_APPROVAL",
"transactionType": "ANY",
"networkId": 1,
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-02T00:00:00.000Z"
}
]
},
"result": {
"resolution": "approved",
"resources": [
{ "type": "policy", "id": "pol_999" },
{ "type": "policy", "id": "pol_888" }
]
}
}
⌘I
cURL
curl --request POST \
--url https://api.onchainden.com/api/v1/policies/proposals/remove \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Idempotency-Key: <x-idempotency-key>' \
--data '
{
"policyIds": [
"pol_999",
"pol_888"
]
}
'const client = new DenClient({ apiKey: 'ck_live_...' });
const proposal = await client.createUpdatePoliciesProposal({
changes: [
{ action: 'remove', data: { id: 'pol_999' } },
{ action: 'remove', data: { id: 'pol_888' } },
],
});
{
"data": {
"id": "prop_pol_remove_123",
"resourceType": "policies",
"action": "remove",
"signatureStatus": "approvalReady",
"executionStatus": "completed",
"threshold": 2,
"approvals": [],
"rejections": [],
"createdAt": "2026-01-18T00:00:00.000Z",
"expiresAt": "2026-01-25T00:00:00.000Z",
"data": {
"policies": [
{
"id": "pol_999",
"name": "Legacy Transfers",
"type": "AUTO_APPROVAL",
"transactionType": "ANY",
"networkId": 1,
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-02T00:00:00.000Z"
},
{
"id": "pol_888",
"name": "Old Allowlist Policy",
"type": "AUTO_APPROVAL",
"transactionType": "ANY",
"networkId": 1,
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-02T00:00:00.000Z"
}
]
},
"result": {
"resolution": "approved",
"resources": [
{
"type": "policy",
"id": "pol_999"
},
{
"type": "policy",
"id": "pol_888"
}
]
}
}
}