Skip to content

Roles & permissions

List available permissions

query {
  permissions {
    edges {
      node {
        pk
        id
        codename
        displayName
      }
    }
  }
}

Add permission to merchant

 mutation (
  $merchantId: ID!
  $permissionId: ID!
) {
  addPermissionToMerchant(
    input: {
      merchantId: $merchantId
      permissionId: $permissionId
    }
  ) {
    success
    errors
  }
}
{
  "merchantId": 84,
  "permissionId": 5
}
{
    "data": {
        "addPermissionToMerchant": {
            "success": true,
            "errors": null
        }
    }
}

Create a role

 mutation (
  $displayName: String!
  $permissions: [ID]
) {
  createRole(
    input: {
      displayName: $displayName
      permissions: $permissions
    }
  ) {
    success
    errors
  }
}
{
  "displayName": "Manager",
  "permissions": [1, 2, 3]
}
{
    "data": {
        "createRole": {
            "success": true,
            "errors": null
        }
    }
}

Update a role

 mutation (
  $id: ID!
  $displayName: String
  $permissions: [ID]
) {
  updateRole(
    input: {
      id: $id
      displayName: $displayName
      permissions: $permissions
    }
  ) {
    success
    errors
  }
}
{
  "id": 1,
  "displayName": "Manager - edited"
}
{
    "data": {
        "updateRole": {
            "success": true,
            "errors": null
        }
    }
}

Delete a role

 mutation (
  $id: ID!
) {
  deleteRole(
    input: {
      id: $id
    }
  ) {
    success
    errors
  }
}
{
  "id": 1
}
{
    "data": {
        "deleteRole": {
            "success": true,
            "errors": null
        }
    }
}

Add role to merchant

 mutation (
  $merchantId: ID!
  $roleId: ID!
) {
  addRoleToMerchant(
    input: {
      merchantId: $merchantId
      roleId: $roleId
    }
  ) {
    success
    errors
  }
}
{
  "merchantId": 84,
  "roleId": 5
}
{
    "data": {
        "addRoleToMerchant": {
            "success": true,
            "errors": null
        }
    }
}