List Platform Owner Changes
Lists the platform owner changes of one setup, newest first. Poll it after Start Platform Owner Change until the change reads done or error. Any API key whose node is the node in the path or one of its ancestors may read it.
Required permission: node:change-platform-owner
Request
GET /v2/admin/nodes/{node_id}/platform-owner-changes?setup_id={setup_id}&page={page}&per_page={per_page}
Parameters
| Name | Type | In | Description |
|---|---|---|---|
node_id | string | path | Required. The node that owns the setup |
setup_id | string | query | Required. The setup whose changes to list. 24-character hex id; must belong to node_id. |
page | integer | query | Required. Page number, starting at 1 |
per_page | integer | query | Required. Items per page, 1–100 |
Headers
| Name | Description |
|---|---|
Authorization | Required. Bearer <access_token> |
Example
curl --request GET \
--url '{{baseUrl}}/v2/admin/nodes/6901350deb7ed8c1c38de4e9/platform-owner-changes?setup_id=6905f1c2a8e4b27d3c9a1f42&page=1&per_page=20' \
--header 'Authorization: Bearer <access_token>'
Response
{
"data": [
{
"id": "6907b2c4d1e8f93a5b7c0d21",
"node_id": "665ae536a6392b75cfd40352",
"setup_id": "6905f1c2a8e4b27d3c9a1f42",
"status": "done",
"new_owner_address": "0x7De3a0B5C2f4E6d8A1b3C5e7F9a2B4d6E8f0A1c3",
"hash": "0x3f7a9c1e5b2d4f6a8c0e2b4d6f8a0c2e4b6d8f0a2c4e6b8d0f2a4c6e8b0d2f4a",
"error": null,
"created_at": "2026-11-03T13:02:44.190Z",
"updated_at": "2026-11-03T13:03:21.577Z"
}
],
"total": 1,
"page": 1,
"per_page": 20
}
Response Fields
| Field | Type | Description |
|---|---|---|
data | array | Platform owner changes of the setup, newest first |
data[].id | string | Id of the platform owner change |
data[].node_id | string | The platform owner (root) node the change is attributed to, not the node in the path |
data[].setup_id | string | The setup the change ran on |
data[].status | string | started, in_progress, done (confirmed on-chain) or error (failed, see error). cancelled exists in the vocabulary but no endpoint sets it. |
data[].new_owner_address | string | Address of the new platform owner wallet |
data[].hash | string | null | Transaction hash, set once the change is done |
data[].error | string | null | Why the change failed |
data[].created_at | string | ISO 8601 creation time |
data[].updated_at | string | ISO 8601 time of the last change |
total | integer | Number of changes of the setup |
page | integer | Page returned |
per_page | integer | Page size used |
Errors
| Status | Code | Description |
|---|---|---|
| 400 | 10015 | Validation failed (setup_id, page or per_page missing or out of range), or the setup is not found on this node |
| 400 | 10016 | node_id is not a valid id |
| 400 | 10001 | Node not found |
| 403 | 10005 | The node is outside the API key's node hierarchy |
See Errors for the error format and common codes.