Skip to content

Permissions By Contract

Run in ENSAdmin
query PermissionsByContract(
  $contract: AccountIdInput!
) {
  permissions(by: { contract: $contract }) {
    resources {
      edges {
        node {
          resource
          users {
            edges {
              node {
                id
                user { address }
                roles
              }
            }
          }
        }
      }
    }
    events { totalCount edges { node { topics data timestamp } } }
  }
}
{
  "contract": {
    "chainId": 99911155111,
    "address": "0x26e5e80e8f36607ef401443fb34eea363c86e8f7"
  }
}
{
  "data": {
    "permissions": null
  }
}
# POST JSON to your ENSNode Omnigraph endpoint (same path enssdk uses).
curl -sS -X POST "https://api.v2-sepolia.ensnode.io/api/omnigraph" \
  -H "Content-Type: application/json" \
  -d @- <<'EOF'
{
  "query": "query PermissionsByContract( $contract: AccountIdInput! ) { permissions(by: { contract: $contract }) { resources { edges { node { resource users { edges { node { id user { address } roles } } } } } } events { totalCount edges { node { topics data timestamp } } } } }",
  "variables": {
    "contract": {
      "chainId": 99911155111,
      "address": "0x26e5e80e8f36607ef401443fb34eea363c86e8f7"
    }
  }
}
EOF
ENS Omnigraph GraphQL
query.graphql
query PermissionsByContract(
$contract: AccountIdInput!
) {
permissions(by: { contract: $contract }) {
resources {
edges {
node {
resource
users {
edges {
node {
id
user { address }
roles
}
}
}
}
}
}
events { totalCount edges { node { topics data timestamp } } }
}
}

Payload and transport examples

variables.json
{
"contract": {
"chainId": 99911155111,
"address": "0x26e5e80e8f36607ef401443fb34eea363c86e8f7"
}
}

Response is an illustrative snapshot; live data depends on your ENSNode instance. The curl tab shows a POST to https://api.v2-sepolia.ensnode.io/api/omnigraph

Back to Examples