extend type Query { serverInfo: ServerInfo! } """ Information about this server. """ type ServerInfo { name: String! company: String description: String adminContact: String canonicalUrl: String termsOfService: String roles: [Role]! scopes: [Scope]! } """ Available roles. """ type Role { name: String! description: String! resourceTarget: String! } """ Available scopes. """ type Scope { name: String! description: String! } extend type Mutation { serverInfoUpdate(info: ServerInfoUpdateInput!): Boolean @hasRole(role: "server:admin") @hasScope(scope: "server:setup") } input ServerInfoUpdateInput { name: String! company: String description: String adminContact: String termsOfService: String }