curl --request POST \
--url https://api.onchainden.com/api/v1/groups/proposals/update \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Idempotency-Key: <x-idempotency-key>' \
--data '
{
"items": [
{
"id": "grp_123",
"name": "Finance & Accounting",
"memberUpdates": [
{
"action": "addMember",
"id": "mem_3"
},
{
"action": "removeMember",
"id": "mem_2"
}
]
}
]
}
'{
"data": {
"id": "prop_abc",
"resourceType": "members",
"action": "create",
"signatureStatus": "pendingInitiatorSignature",
"executionStatus": null,
"threshold": 2,
"approvals": [
{
"id": "mem_123",
"name": "Alice",
"type": "user",
"walletAddress": "<string>"
}
],
"rejections": [
{
"id": "mem_123",
"name": "Alice",
"type": "user",
"walletAddress": "<string>"
}
],
"createdAt": "2023-11-07T05:31:56Z",
"expiresAt": "2023-11-07T05:31:56Z",
"data": {
"items": [
{
"id": "grp_123",
"name": "Finance Team",
"members": [
{
"id": "mem_123",
"name": "Alice",
"type": "user",
"walletAddress": "<string>"
}
],
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
]
},
"signingPayloads": {
"approvePayload": "<string>",
"rejectPayload": "<string>",
"initiatorPayload": "<string>"
},
"result": {
"resolution": "approved",
"resources": [
{
"type": "member",
"id": "mem_new1",
"uri": "/api/v1/members/mem_new1"
}
]
}
}
}Creates a proposal to update existing groups.
Note: Name changes are applied immediately upon request submission and do not require proposal execution. Only member updates require the full proposal workflow.
curl --request POST \
--url https://api.onchainden.com/api/v1/groups/proposals/update \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Idempotency-Key: <x-idempotency-key>' \
--data '
{
"items": [
{
"id": "grp_123",
"name": "Finance & Accounting",
"memberUpdates": [
{
"action": "addMember",
"id": "mem_3"
},
{
"action": "removeMember",
"id": "mem_2"
}
]
}
]
}
'{
"data": {
"id": "prop_abc",
"resourceType": "members",
"action": "create",
"signatureStatus": "pendingInitiatorSignature",
"executionStatus": null,
"threshold": 2,
"approvals": [
{
"id": "mem_123",
"name": "Alice",
"type": "user",
"walletAddress": "<string>"
}
],
"rejections": [
{
"id": "mem_123",
"name": "Alice",
"type": "user",
"walletAddress": "<string>"
}
],
"createdAt": "2023-11-07T05:31:56Z",
"expiresAt": "2023-11-07T05:31:56Z",
"data": {
"items": [
{
"id": "grp_123",
"name": "Finance Team",
"members": [
{
"id": "mem_123",
"name": "Alice",
"type": "user",
"walletAddress": "<string>"
}
],
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
]
},
"signingPayloads": {
"approvePayload": "<string>",
"rejectPayload": "<string>",
"initiatorPayload": "<string>"
},
"result": {
"resolution": "approved",
"resources": [
{
"type": "member",
"id": "mem_new1",
"uri": "/api/v1/members/mem_new1"
}
]
}
}
}API key authentication. Include your API key in the Authorization header.
Idempotency key for safely retrying mutation requests.
List of group updates
Show child attributes
Group update proposal created
Show child attributes