""" An authentication records when a user enter their credential in a browser session. """ type Authentication implements Node { """ ID of the object. """ id: ID! """ When the object was created. """ createdAt: DateTime! } """ A browser session represents a logged in user in a browser. """ type BrowserSession implements Node { """ ID of the object. """ id: ID! """ The user logged in this session. """ user: User! """ The most recent authentication of this session. """ lastAuthentication: Authentication """ When the object was created. """ createdAt: DateTime! } type BrowserSessionConnection { """ Information to aid in pagination. """ pageInfo: PageInfo! """ A list of edges. """ edges: [BrowserSessionEdge!]! """ A list of nodes. """ nodes: [BrowserSession!]! } """ An edge in a connection. """ type BrowserSessionEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: BrowserSession! } """ A compat session represents a client session which used the legacy Matrix login API. """ type CompatSession implements Node { """ ID of the object. """ id: ID! """ The user authorized for this session. """ user: User! """ The Matrix Device ID of this session. """ deviceId: String! """ When the object was created. """ createdAt: DateTime! """ When the session ended. """ finishedAt: DateTime } """ A compat SSO login represents a login done through the legacy Matrix login API, via the `m.login.sso` login method. """ type CompatSsoLogin implements Node { """ ID of the object. """ id: ID! """ When the object was created. """ createdAt: DateTime! """ The redirect URI used during the login. """ redirectUri: Url! """ When the login was fulfilled, and the user was redirected back to the client. """ fulfilledAt: DateTime """ When the client exchanged the login token sent during the redirection. """ exchangedAt: DateTime """ The compat session which was started by this login. """ session: CompatSession } type CompatSsoLoginConnection { """ Information to aid in pagination. """ pageInfo: PageInfo! """ A list of edges. """ edges: [CompatSsoLoginEdge!]! """ A list of nodes. """ nodes: [CompatSsoLogin!]! } """ An edge in a connection. """ type CompatSsoLoginEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: CompatSsoLogin! } """ Implement the DateTime scalar The input/output is a string in RFC3339 format. """ scalar DateTime interface Node { """ ID of the object. """ id: ID! } """ An OAuth 2.0 client """ type Oauth2Client implements Node { """ ID of the object. """ id: ID! """ OAuth 2.0 client ID """ clientId: String! """ Client name advertised by the client. """ clientName: String """ Client URI advertised by the client. """ clientUri: Url """ Terms of services URI advertised by the client. """ tosUri: Url """ Privacy policy URI advertised by the client. """ policyUri: Url """ List of redirect URIs used for authorization grants by the client. """ redirectUris: [Url!]! } """ An OAuth 2.0 session represents a client session which used the OAuth APIs to login. """ type Oauth2Session implements Node { """ ID of the object. """ id: ID! """ OAuth 2.0 client used by this session. """ client: Oauth2Client! """ Scope granted for this session. """ scope: String! """ The browser session which started this OAuth 2.0 session. """ browserSession: BrowserSession! """ User authorized for this session. """ user: User! } type Oauth2SessionConnection { """ Information to aid in pagination. """ pageInfo: PageInfo! """ A list of edges. """ edges: [Oauth2SessionEdge!]! """ A list of nodes. """ nodes: [Oauth2Session!]! } """ An edge in a connection. """ type Oauth2SessionEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Oauth2Session! } """ Information about pagination in a connection """ type PageInfo { """ When paginating backwards, are there more items? """ hasPreviousPage: Boolean! """ When paginating forwards, are there more items? """ hasNextPage: Boolean! """ When paginating backwards, the cursor to continue. """ startCursor: String """ When paginating forwards, the cursor to continue. """ endCursor: String } """ The query root of the GraphQL interface. """ type RootQuery { """ Get the current logged in browser session """ currentBrowserSession: BrowserSession """ Get the current logged in user """ currentUser: User } """ URL is a String implementing the [URL Standard](http://url.spec.whatwg.org/) """ scalar Url """ A user is an individual's account. """ type User implements Node { """ ID of the object. """ id: ID! """ Username chosen by the user. """ username: String! """ Primary email address of the user. """ primaryEmail: UserEmail """ Get the list of compatibility SSO logins, chronologically sorted """ compatSsoLogins(after: String, before: String, first: Int, last: Int): CompatSsoLoginConnection! """ Get the list of active browser sessions, chronologically sorted """ browserSessions(after: String, before: String, first: Int, last: Int): BrowserSessionConnection! """ Get the list of emails, chronologically sorted """ emails(after: String, before: String, first: Int, last: Int): UserEmailConnection! """ Get the list of OAuth 2.0 sessions, chronologically sorted """ oauth2Sessions(after: String, before: String, first: Int, last: Int): Oauth2SessionConnection! } """ A user email address """ type UserEmail implements Node { """ ID of the object. """ id: ID! """ Email address """ email: String! """ When the object was created. """ createdAt: DateTime! """ When the email address was confirmed. Is `null` if the email was never verified by the user. """ confirmedAt: DateTime } type UserEmailConnection { """ Information to aid in pagination. """ pageInfo: PageInfo! """ A list of edges. """ edges: [UserEmailEdge!]! """ A list of nodes. """ nodes: [UserEmail!]! """ Identifies the total count of items in the connection. """ totalCount: Int! } """ An edge in a connection. """ type UserEmailEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: UserEmail! } schema { query: RootQuery }