UNPKG

@apollo/server

Version:
1,018 lines (923 loc) 635 kB
export type Maybe<T> = T | null; export type InputMaybe<T> = Maybe<T>; export type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] }; export type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> }; export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> }; /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { ID: string; String: string; Boolean: boolean; Int: number; Float: number; BigInt: any; Blob: any; Date: any; DateTime: any; GraphQLDocument: any; JSON: any; JSONObject: any; Long: any; NaiveDateTime: any; Object: any; SHA256: any; StringOrInt: any; Timestamp: any; Void: any; }; /** An organization in Apollo Studio. Can have multiple members and graphs. */ export type Account = { __typename?: 'Account'; auditLogExports?: Maybe<Array<AuditLogExport>>; /** These are the roles that the account is able to use */ availableRoles: Array<UserPermission>; /** * Get an URL to which an avatar image can be uploaded. Client uploads by sending a PUT request * with the image data to MediaUploadInfo.url. Client SHOULD set the "Content-Type" header to the * browser-inferred MIME type, and SHOULD set the "x-apollo-content-filename" header to the * filename, if such information is available. Client MUST set the "x-apollo-csrf-token" header to * MediaUploadInfo.csrfToken. */ avatarUpload?: Maybe<AvatarUploadResult>; /** * Get an image URL for the account's avatar. Note that CORS is not enabled for these URLs. The size * argument is used for bandwidth reduction, and should be the size of the image as displayed in the * application. Apollo's media server will downscale larger images to at least the requested size, * but this will not happen for third-party media servers. */ avatarUrl?: Maybe<Scalars['String']>; billingContactEmail?: Maybe<Scalars['String']>; billingInfo?: Maybe<BillingInfo>; billingInsights: BillingInsights; /** Fetch a CloudOnboarding associated with this account */ cloudOnboarding?: Maybe<CloudOnboarding>; companyUrl?: Maybe<Scalars['String']>; /** The time at which the account was created */ createdAt?: Maybe<Scalars['Timestamp']>; currentBillingMonth?: Maybe<BillingMonth>; currentPlan: BillingPlan; currentSubscription?: Maybe<BillingSubscription>; eligibleForUsageBasedPlan: Scalars['Boolean']; expiredTrialDismissedAt?: Maybe<Scalars['Timestamp']>; expiredTrialSubscription?: Maybe<BillingSubscription>; graphIDAvailable: Scalars['Boolean']; /** Graphs belonging to this organization. */ graphs: Array<Service>; /** Graphs belonging to this organization. */ graphsConnection?: Maybe<AccountGraphConnection>; hasBeenOnTrial: Scalars['Boolean']; hasBillingInfo?: Maybe<Scalars['Boolean']>; /** Globally unique identifier, which isn't guaranteed stable (can be changed by administrators). */ id: Scalars['ID']; /** * Internal immutable identifier for the account. Only visible to Apollo admins (because it really * shouldn't be used in normal client apps). */ internalID: Scalars['ID']; invitations?: Maybe<Array<AccountInvitation>>; invoices: Array<Invoice>; isLocked?: Maybe<Scalars['Boolean']>; isOnExpiredTrial: Scalars['Boolean']; isOnTrial: Scalars['Boolean']; lockDetails?: Maybe<AccountLockDetails>; memberships?: Maybe<Array<AccountMembership>>; /** Name of the organization, which can change over time and isn't unique. */ name: Scalars['String']; /** * Fetches an offline license for the account. * (If you need this then please contact your Apollo account manager to discuss your requirements.) */ offlineLicense?: Maybe<RouterEntitlement>; /** * Fetches usage based pricing operations counts for the calling user. If a particular window is not specified, * totals for the user's current billing period are returned. (Will error if the user is not currently on a usage * based plan.) */ operationUsage: AccountOperationUsage; /** List the private subgraphs associated with your Apollo account */ privateSubgraphs: Array<PrivateSubgraph>; /** @deprecated use Account.createdAt instead */ provisionedAt?: Maybe<Scalars['Timestamp']>; /** Returns a different registry related stats pertaining to this account. */ registryStatsWindow?: Maybe<RegistryStatsWindow>; requests?: Maybe<Scalars['Long']>; requestsInCurrentBillingPeriod?: Maybe<Scalars['Long']>; roles?: Maybe<AccountRoles>; routerEntitlement?: Maybe<RouterEntitlement>; /** How many seats would be included in your next bill, as best estimated today */ seatCountForNextBill?: Maybe<Scalars['Int']>; seats?: Maybe<Seats>; secondaryIDs: Array<Scalars['ID']>; /** * Graphs belonging to this organization. * @deprecated Use graphs field instead */ services: Array<Service>; /** * If non-null, this organization tracks its members through an upstream, eg PingOne; * invitations are not possible on SSO-synchronized account. */ sso?: Maybe<OrganizationSSO>; ssoV2?: Maybe<SsoConfig>; /** @deprecated no longer relevant; it's only ever populated for enterprise accounts */ state?: Maybe<AccountState>; /** A list of reusable invitations for the organization. */ staticInvitations?: Maybe<Array<OrganizationInviteLink>>; /** @deprecated use Account.statsWindow instead */ stats: AccountStatsWindow; statsWindow?: Maybe<AccountStatsWindow>; subscriptions: Array<BillingSubscription>; survey?: Maybe<Survey>; /** Gets a ticket for this org, by id */ ticket?: Maybe<ZendeskTicket>; /** List of Zendesk tickets submitted for this org */ tickets?: Maybe<Array<ZendeskTicket>>; /** * All Variants within the Graphs belonging to this organization. Can be limited to those favorited by the current user. * @deprecated use Service.variants instead */ variants?: Maybe<AccountGraphVariantConnection>; vitallyTraits?: Maybe<AccountCustomerTraits>; }; /** An organization in Apollo Studio. Can have multiple members and graphs. */ export type AccountavatarUrlArgs = { size?: Scalars['Int']; }; /** An organization in Apollo Studio. Can have multiple members and graphs. */ export type AccountbillingInsightsArgs = { from: Scalars['Date']; limit?: InputMaybe<Scalars['Int']>; to?: InputMaybe<Scalars['Date']>; windowSize?: InputMaybe<BillingUsageStatsWindowSize>; }; /** An organization in Apollo Studio. Can have multiple members and graphs. */ export type AccountcloudOnboardingArgs = { graphRef: Scalars['String']; }; /** An organization in Apollo Studio. Can have multiple members and graphs. */ export type AccountgraphIDAvailableArgs = { id: Scalars['ID']; }; /** An organization in Apollo Studio. Can have multiple members and graphs. */ export type AccountgraphsArgs = { filterBy?: InputMaybe<GraphFilter>; includeDeleted?: InputMaybe<Scalars['Boolean']>; }; /** An organization in Apollo Studio. Can have multiple members and graphs. */ export type AccountgraphsConnectionArgs = { after?: InputMaybe<Scalars['String']>; before?: InputMaybe<Scalars['String']>; filterBy?: InputMaybe<GraphFilter>; first?: InputMaybe<Scalars['Int']>; last?: InputMaybe<Scalars['Int']>; }; /** An organization in Apollo Studio. Can have multiple members and graphs. */ export type AccountinvitationsArgs = { includeAccepted?: Scalars['Boolean']; }; /** An organization in Apollo Studio. Can have multiple members and graphs. */ export type AccountoperationUsageArgs = { forWindow?: InputMaybe<AccountOperationUsageWindowInput>; }; /** An organization in Apollo Studio. Can have multiple members and graphs. */ export type AccountprivateSubgraphsArgs = { cloudProvider: CloudProvider; }; /** An organization in Apollo Studio. Can have multiple members and graphs. */ export type AccountregistryStatsWindowArgs = { from: Scalars['Timestamp']; resolution?: InputMaybe<Resolution>; to?: InputMaybe<Scalars['Timestamp']>; }; /** An organization in Apollo Studio. Can have multiple members and graphs. */ export type AccountrequestsArgs = { from: Scalars['Timestamp']; to: Scalars['Timestamp']; }; /** An organization in Apollo Studio. Can have multiple members and graphs. */ export type AccountservicesArgs = { includeDeleted?: InputMaybe<Scalars['Boolean']>; }; /** An organization in Apollo Studio. Can have multiple members and graphs. */ export type AccountstatsArgs = { from: Scalars['Timestamp']; resolution?: InputMaybe<Resolution>; to?: InputMaybe<Scalars['Timestamp']>; }; /** An organization in Apollo Studio. Can have multiple members and graphs. */ export type AccountstatsWindowArgs = { from: Scalars['Timestamp']; resolution?: InputMaybe<Resolution>; to?: InputMaybe<Scalars['Timestamp']>; }; /** An organization in Apollo Studio. Can have multiple members and graphs. */ export type AccountsurveyArgs = { id: Scalars['String']; }; /** An organization in Apollo Studio. Can have multiple members and graphs. */ export type AccountticketArgs = { id: Scalars['ID']; }; /** An organization in Apollo Studio. Can have multiple members and graphs. */ export type AccountvariantsArgs = { filterBy?: InputMaybe<GraphVariantFilter>; }; /** Columns of AccountBillingUsageStats. */ export enum AccountBillingUsageStatsColumn { AGENT_VERSION = 'AGENT_VERSION', GRAPH_DEPLOYMENT_TYPE = 'GRAPH_DEPLOYMENT_TYPE', OPERATION_COUNT = 'OPERATION_COUNT', OPERATION_COUNT_PROVIDED_EXPLICITLY = 'OPERATION_COUNT_PROVIDED_EXPLICITLY', OPERATION_SUBTYPE = 'OPERATION_SUBTYPE', OPERATION_TYPE = 'OPERATION_TYPE', SCHEMA_TAG = 'SCHEMA_TAG', SERVICE_ID = 'SERVICE_ID', TIMESTAMP = 'TIMESTAMP' } export type AccountBillingUsageStatsDimensions = { __typename?: 'AccountBillingUsageStatsDimensions'; agentVersion?: Maybe<Scalars['String']>; graphDeploymentType?: Maybe<Scalars['String']>; operationCountProvidedExplicitly?: Maybe<Scalars['String']>; operationSubtype?: Maybe<Scalars['String']>; operationType?: Maybe<Scalars['String']>; schemaTag?: Maybe<Scalars['String']>; serviceId?: Maybe<Scalars['ID']>; }; /** Filter for data in AccountBillingUsageStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together. */ export type AccountBillingUsageStatsFilter = { /** Selects rows whose agentVersion dimension equals the given value if not null. To query for the null value, use {in: {agentVersion: [null]}} instead. */ agentVersion?: InputMaybe<Scalars['String']>; and?: InputMaybe<Array<AccountBillingUsageStatsFilter>>; /** Selects rows whose graphDeploymentType dimension equals the given value if not null. To query for the null value, use {in: {graphDeploymentType: [null]}} instead. */ graphDeploymentType?: InputMaybe<Scalars['String']>; in?: InputMaybe<AccountBillingUsageStatsFilterIn>; not?: InputMaybe<AccountBillingUsageStatsFilter>; /** Selects rows whose operationCountProvidedExplicitly dimension equals the given value if not null. To query for the null value, use {in: {operationCountProvidedExplicitly: [null]}} instead. */ operationCountProvidedExplicitly?: InputMaybe<Scalars['String']>; /** Selects rows whose operationSubtype dimension equals the given value if not null. To query for the null value, use {in: {operationSubtype: [null]}} instead. */ operationSubtype?: InputMaybe<Scalars['String']>; /** Selects rows whose operationType dimension equals the given value if not null. To query for the null value, use {in: {operationType: [null]}} instead. */ operationType?: InputMaybe<Scalars['String']>; or?: InputMaybe<Array<AccountBillingUsageStatsFilter>>; /** Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead. */ schemaTag?: InputMaybe<Scalars['String']>; /** Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead. */ serviceId?: InputMaybe<Scalars['ID']>; }; /** Filter for data in AccountBillingUsageStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together. */ export type AccountBillingUsageStatsFilterIn = { /** Selects rows whose agentVersion dimension is in the given list. A null value in the list means a row with null for that dimension. */ agentVersion?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose graphDeploymentType dimension is in the given list. A null value in the list means a row with null for that dimension. */ graphDeploymentType?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose operationCountProvidedExplicitly dimension is in the given list. A null value in the list means a row with null for that dimension. */ operationCountProvidedExplicitly?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose operationSubtype dimension is in the given list. A null value in the list means a row with null for that dimension. */ operationSubtype?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose operationType dimension is in the given list. A null value in the list means a row with null for that dimension. */ operationType?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension. */ schemaTag?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension. */ serviceId?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>; }; export type AccountBillingUsageStatsMetrics = { __typename?: 'AccountBillingUsageStatsMetrics'; operationCount: Scalars['Long']; }; export type AccountBillingUsageStatsOrderBySpec = { column: AccountBillingUsageStatsColumn; direction: Ordering; }; export type AccountBillingUsageStatsRecord = { __typename?: 'AccountBillingUsageStatsRecord'; /** Dimensions of AccountBillingUsageStats that can be grouped by. */ groupBy: AccountBillingUsageStatsDimensions; /** Metrics of AccountBillingUsageStats that can be aggregated over. */ metrics: AccountBillingUsageStatsMetrics; /** Starting segment timestamp. */ timestamp: Scalars['Timestamp']; }; export type AccountChecksStatsMetrics = { __typename?: 'AccountChecksStatsMetrics'; totalFailedChecks: Scalars['Long']; totalSuccessfulChecks: Scalars['Long']; }; export type AccountChecksStatsRecord = { __typename?: 'AccountChecksStatsRecord'; id: Scalars['ID']; metrics: AccountChecksStatsMetrics; timestamp: Scalars['Timestamp']; }; export type AccountCustomerTraits = { __typename?: 'AccountCustomerTraits'; accountOwner?: Maybe<Scalars['String']>; adminLink?: Maybe<Scalars['String']>; federationInProd?: Maybe<Scalars['Boolean']>; product?: Maybe<Scalars['String']>; requestsLast30Days?: Maybe<Scalars['BigInt']>; sfdcId?: Maybe<Scalars['String']>; sso?: Maybe<Scalars['Boolean']>; tier?: Maybe<Scalars['String']>; totalGraphs?: Maybe<Scalars['Int']>; totalRequests?: Maybe<Scalars['BigInt']>; totalSubgraphs?: Maybe<Scalars['Int']>; totalVariants?: Maybe<Scalars['Int']>; usersCount?: Maybe<Scalars['Int']>; usingClassicGraphs?: Maybe<Scalars['Boolean']>; usingCloudGraphs?: Maybe<Scalars['Boolean']>; usingExplorer?: Maybe<Scalars['Boolean']>; usingFederation?: Maybe<Scalars['Boolean']>; usingFederation2?: Maybe<Scalars['Boolean']>; usingRover?: Maybe<Scalars['Boolean']>; usingSchemaChecks?: Maybe<Scalars['Boolean']>; usingVariants?: Maybe<Scalars['Boolean']>; }; /** Columns of AccountEdgeServerInfos. */ export enum AccountEdgeServerInfosColumn { BOOT_ID = 'BOOT_ID', EXECUTABLE_SCHEMA_ID = 'EXECUTABLE_SCHEMA_ID', LIBRARY_VERSION = 'LIBRARY_VERSION', PLATFORM = 'PLATFORM', RUNTIME_VERSION = 'RUNTIME_VERSION', SCHEMA_TAG = 'SCHEMA_TAG', SERVER_ID = 'SERVER_ID', SERVICE_ID = 'SERVICE_ID', TIMESTAMP = 'TIMESTAMP', USER_VERSION = 'USER_VERSION' } export type AccountEdgeServerInfosDimensions = { __typename?: 'AccountEdgeServerInfosDimensions'; bootId?: Maybe<Scalars['ID']>; executableSchemaId?: Maybe<Scalars['ID']>; libraryVersion?: Maybe<Scalars['String']>; platform?: Maybe<Scalars['String']>; runtimeVersion?: Maybe<Scalars['String']>; schemaTag?: Maybe<Scalars['String']>; serverId?: Maybe<Scalars['ID']>; serviceId?: Maybe<Scalars['ID']>; userVersion?: Maybe<Scalars['String']>; }; /** Filter for data in AccountEdgeServerInfos. Fields with dimension names represent equality checks. All fields are implicitly ANDed together. */ export type AccountEdgeServerInfosFilter = { and?: InputMaybe<Array<AccountEdgeServerInfosFilter>>; /** Selects rows whose bootId dimension equals the given value if not null. To query for the null value, use {in: {bootId: [null]}} instead. */ bootId?: InputMaybe<Scalars['ID']>; /** Selects rows whose executableSchemaId dimension equals the given value if not null. To query for the null value, use {in: {executableSchemaId: [null]}} instead. */ executableSchemaId?: InputMaybe<Scalars['ID']>; in?: InputMaybe<AccountEdgeServerInfosFilterIn>; /** Selects rows whose libraryVersion dimension equals the given value if not null. To query for the null value, use {in: {libraryVersion: [null]}} instead. */ libraryVersion?: InputMaybe<Scalars['String']>; not?: InputMaybe<AccountEdgeServerInfosFilter>; or?: InputMaybe<Array<AccountEdgeServerInfosFilter>>; /** Selects rows whose platform dimension equals the given value if not null. To query for the null value, use {in: {platform: [null]}} instead. */ platform?: InputMaybe<Scalars['String']>; /** Selects rows whose runtimeVersion dimension equals the given value if not null. To query for the null value, use {in: {runtimeVersion: [null]}} instead. */ runtimeVersion?: InputMaybe<Scalars['String']>; /** Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead. */ schemaTag?: InputMaybe<Scalars['String']>; /** Selects rows whose serverId dimension equals the given value if not null. To query for the null value, use {in: {serverId: [null]}} instead. */ serverId?: InputMaybe<Scalars['ID']>; /** Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead. */ serviceId?: InputMaybe<Scalars['ID']>; /** Selects rows whose userVersion dimension equals the given value if not null. To query for the null value, use {in: {userVersion: [null]}} instead. */ userVersion?: InputMaybe<Scalars['String']>; }; /** Filter for data in AccountEdgeServerInfos. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together. */ export type AccountEdgeServerInfosFilterIn = { /** Selects rows whose bootId dimension is in the given list. A null value in the list means a row with null for that dimension. */ bootId?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>; /** Selects rows whose executableSchemaId dimension is in the given list. A null value in the list means a row with null for that dimension. */ executableSchemaId?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>; /** Selects rows whose libraryVersion dimension is in the given list. A null value in the list means a row with null for that dimension. */ libraryVersion?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose platform dimension is in the given list. A null value in the list means a row with null for that dimension. */ platform?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose runtimeVersion dimension is in the given list. A null value in the list means a row with null for that dimension. */ runtimeVersion?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension. */ schemaTag?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose serverId dimension is in the given list. A null value in the list means a row with null for that dimension. */ serverId?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>; /** Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension. */ serviceId?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>; /** Selects rows whose userVersion dimension is in the given list. A null value in the list means a row with null for that dimension. */ userVersion?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; }; export type AccountEdgeServerInfosOrderBySpec = { column: AccountEdgeServerInfosColumn; direction: Ordering; }; export type AccountEdgeServerInfosRecord = { __typename?: 'AccountEdgeServerInfosRecord'; /** Dimensions of AccountEdgeServerInfos that can be grouped by. */ groupBy: AccountEdgeServerInfosDimensions; /** Starting segment timestamp. */ timestamp: Scalars['Timestamp']; }; /** Columns of AccountErrorStats. */ export enum AccountErrorStatsColumn { CLIENT_NAME = 'CLIENT_NAME', CLIENT_VERSION = 'CLIENT_VERSION', ERRORS_COUNT = 'ERRORS_COUNT', PATH = 'PATH', QUERY_ID = 'QUERY_ID', QUERY_NAME = 'QUERY_NAME', REQUESTS_WITH_ERRORS_COUNT = 'REQUESTS_WITH_ERRORS_COUNT', SCHEMA_HASH = 'SCHEMA_HASH', SCHEMA_TAG = 'SCHEMA_TAG', SERVICE_ID = 'SERVICE_ID', TIMESTAMP = 'TIMESTAMP' } export type AccountErrorStatsDimensions = { __typename?: 'AccountErrorStatsDimensions'; clientName?: Maybe<Scalars['String']>; clientVersion?: Maybe<Scalars['String']>; path?: Maybe<Scalars['String']>; queryId?: Maybe<Scalars['ID']>; queryName?: Maybe<Scalars['String']>; schemaHash?: Maybe<Scalars['String']>; schemaTag?: Maybe<Scalars['String']>; serviceId?: Maybe<Scalars['ID']>; }; /** Filter for data in AccountErrorStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together. */ export type AccountErrorStatsFilter = { and?: InputMaybe<Array<AccountErrorStatsFilter>>; /** Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead. */ clientName?: InputMaybe<Scalars['String']>; /** Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead. */ clientVersion?: InputMaybe<Scalars['String']>; in?: InputMaybe<AccountErrorStatsFilterIn>; not?: InputMaybe<AccountErrorStatsFilter>; or?: InputMaybe<Array<AccountErrorStatsFilter>>; /** Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead. */ path?: InputMaybe<Scalars['String']>; /** Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead. */ queryId?: InputMaybe<Scalars['ID']>; /** Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead. */ queryName?: InputMaybe<Scalars['String']>; /** Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead. */ schemaHash?: InputMaybe<Scalars['String']>; /** Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead. */ schemaTag?: InputMaybe<Scalars['String']>; /** Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead. */ serviceId?: InputMaybe<Scalars['ID']>; }; /** Filter for data in AccountErrorStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together. */ export type AccountErrorStatsFilterIn = { /** Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension. */ clientName?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension. */ clientVersion?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension. */ path?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension. */ queryId?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>; /** Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension. */ queryName?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension. */ schemaHash?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension. */ schemaTag?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension. */ serviceId?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>; }; export type AccountErrorStatsMetrics = { __typename?: 'AccountErrorStatsMetrics'; errorsCount: Scalars['Long']; requestsWithErrorsCount: Scalars['Long']; }; export type AccountErrorStatsOrderBySpec = { column: AccountErrorStatsColumn; direction: Ordering; }; export type AccountErrorStatsRecord = { __typename?: 'AccountErrorStatsRecord'; /** Dimensions of AccountErrorStats that can be grouped by. */ groupBy: AccountErrorStatsDimensions; /** Metrics of AccountErrorStats that can be aggregated over. */ metrics: AccountErrorStatsMetrics; /** Starting segment timestamp. */ timestamp: Scalars['Timestamp']; }; /** Columns of AccountFieldExecutions. */ export enum AccountFieldExecutionsColumn { ERRORS_COUNT = 'ERRORS_COUNT', ESTIMATED_EXECUTION_COUNT = 'ESTIMATED_EXECUTION_COUNT', FIELD_NAME = 'FIELD_NAME', OBSERVED_EXECUTION_COUNT = 'OBSERVED_EXECUTION_COUNT', PARENT_TYPE = 'PARENT_TYPE', REFERENCING_OPERATION_COUNT = 'REFERENCING_OPERATION_COUNT', REQUESTS_WITH_ERRORS_COUNT = 'REQUESTS_WITH_ERRORS_COUNT', SCHEMA_TAG = 'SCHEMA_TAG', SERVICE_ID = 'SERVICE_ID', TIMESTAMP = 'TIMESTAMP' } export type AccountFieldExecutionsDimensions = { __typename?: 'AccountFieldExecutionsDimensions'; fieldName?: Maybe<Scalars['String']>; parentType?: Maybe<Scalars['String']>; schemaTag?: Maybe<Scalars['String']>; serviceId?: Maybe<Scalars['ID']>; }; /** Filter for data in AccountFieldExecutions. Fields with dimension names represent equality checks. All fields are implicitly ANDed together. */ export type AccountFieldExecutionsFilter = { and?: InputMaybe<Array<AccountFieldExecutionsFilter>>; /** Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead. */ fieldName?: InputMaybe<Scalars['String']>; in?: InputMaybe<AccountFieldExecutionsFilterIn>; not?: InputMaybe<AccountFieldExecutionsFilter>; or?: InputMaybe<Array<AccountFieldExecutionsFilter>>; /** Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead. */ parentType?: InputMaybe<Scalars['String']>; /** Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead. */ schemaTag?: InputMaybe<Scalars['String']>; /** Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead. */ serviceId?: InputMaybe<Scalars['ID']>; }; /** Filter for data in AccountFieldExecutions. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together. */ export type AccountFieldExecutionsFilterIn = { /** Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension. */ fieldName?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension. */ parentType?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension. */ schemaTag?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension. */ serviceId?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>; }; export type AccountFieldExecutionsMetrics = { __typename?: 'AccountFieldExecutionsMetrics'; errorsCount: Scalars['Long']; estimatedExecutionCount: Scalars['Long']; observedExecutionCount: Scalars['Long']; referencingOperationCount: Scalars['Long']; requestsWithErrorsCount: Scalars['Long']; }; export type AccountFieldExecutionsOrderBySpec = { column: AccountFieldExecutionsColumn; direction: Ordering; }; export type AccountFieldExecutionsRecord = { __typename?: 'AccountFieldExecutionsRecord'; /** Dimensions of AccountFieldExecutions that can be grouped by. */ groupBy: AccountFieldExecutionsDimensions; /** Metrics of AccountFieldExecutions that can be aggregated over. */ metrics: AccountFieldExecutionsMetrics; /** Starting segment timestamp. */ timestamp: Scalars['Timestamp']; }; /** Columns of AccountFieldLatencies. */ export enum AccountFieldLatenciesColumn { FIELD_HISTOGRAM = 'FIELD_HISTOGRAM', FIELD_NAME = 'FIELD_NAME', PARENT_TYPE = 'PARENT_TYPE', SCHEMA_HASH = 'SCHEMA_HASH', SCHEMA_TAG = 'SCHEMA_TAG', SERVICE_ID = 'SERVICE_ID', TIMESTAMP = 'TIMESTAMP' } export type AccountFieldLatenciesDimensions = { __typename?: 'AccountFieldLatenciesDimensions'; field?: Maybe<Scalars['String']>; fieldName?: Maybe<Scalars['String']>; parentType?: Maybe<Scalars['String']>; schemaHash?: Maybe<Scalars['String']>; schemaTag?: Maybe<Scalars['String']>; serviceId?: Maybe<Scalars['ID']>; }; /** Filter for data in AccountFieldLatencies. Fields with dimension names represent equality checks. All fields are implicitly ANDed together. */ export type AccountFieldLatenciesFilter = { and?: InputMaybe<Array<AccountFieldLatenciesFilter>>; /** Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead. */ fieldName?: InputMaybe<Scalars['String']>; in?: InputMaybe<AccountFieldLatenciesFilterIn>; not?: InputMaybe<AccountFieldLatenciesFilter>; or?: InputMaybe<Array<AccountFieldLatenciesFilter>>; /** Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead. */ parentType?: InputMaybe<Scalars['String']>; /** Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead. */ schemaHash?: InputMaybe<Scalars['String']>; /** Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead. */ schemaTag?: InputMaybe<Scalars['String']>; /** Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead. */ serviceId?: InputMaybe<Scalars['ID']>; }; /** Filter for data in AccountFieldLatencies. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together. */ export type AccountFieldLatenciesFilterIn = { /** Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension. */ fieldName?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension. */ parentType?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension. */ schemaHash?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension. */ schemaTag?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension. */ serviceId?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>; }; export type AccountFieldLatenciesMetrics = { __typename?: 'AccountFieldLatenciesMetrics'; fieldHistogram: DurationHistogram; }; export type AccountFieldLatenciesOrderBySpec = { column: AccountFieldLatenciesColumn; direction: Ordering; }; export type AccountFieldLatenciesRecord = { __typename?: 'AccountFieldLatenciesRecord'; /** Dimensions of AccountFieldLatencies that can be grouped by. */ groupBy: AccountFieldLatenciesDimensions; /** Metrics of AccountFieldLatencies that can be aggregated over. */ metrics: AccountFieldLatenciesMetrics; /** Starting segment timestamp. */ timestamp: Scalars['Timestamp']; }; /** Columns of AccountFieldUsage. */ export enum AccountFieldUsageColumn { CLIENT_NAME = 'CLIENT_NAME', CLIENT_VERSION = 'CLIENT_VERSION', ESTIMATED_EXECUTION_COUNT = 'ESTIMATED_EXECUTION_COUNT', EXECUTION_COUNT = 'EXECUTION_COUNT', FIELD_NAME = 'FIELD_NAME', OPERATION_SUBTYPE = 'OPERATION_SUBTYPE', OPERATION_TYPE = 'OPERATION_TYPE', PARENT_TYPE = 'PARENT_TYPE', QUERY_ID = 'QUERY_ID', QUERY_NAME = 'QUERY_NAME', REFERENCING_OPERATION_COUNT = 'REFERENCING_OPERATION_COUNT', SCHEMA_HASH = 'SCHEMA_HASH', SCHEMA_TAG = 'SCHEMA_TAG', SERVICE_ID = 'SERVICE_ID', TIMESTAMP = 'TIMESTAMP' } export type AccountFieldUsageDimensions = { __typename?: 'AccountFieldUsageDimensions'; clientName?: Maybe<Scalars['String']>; clientVersion?: Maybe<Scalars['String']>; fieldName?: Maybe<Scalars['String']>; operationSubtype?: Maybe<Scalars['String']>; operationType?: Maybe<Scalars['String']>; parentType?: Maybe<Scalars['String']>; queryId?: Maybe<Scalars['ID']>; queryName?: Maybe<Scalars['String']>; schemaHash?: Maybe<Scalars['String']>; schemaTag?: Maybe<Scalars['String']>; serviceId?: Maybe<Scalars['ID']>; }; /** Filter for data in AccountFieldUsage. Fields with dimension names represent equality checks. All fields are implicitly ANDed together. */ export type AccountFieldUsageFilter = { and?: InputMaybe<Array<AccountFieldUsageFilter>>; /** Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead. */ clientName?: InputMaybe<Scalars['String']>; /** Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead. */ clientVersion?: InputMaybe<Scalars['String']>; /** Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead. */ fieldName?: InputMaybe<Scalars['String']>; in?: InputMaybe<AccountFieldUsageFilterIn>; not?: InputMaybe<AccountFieldUsageFilter>; /** Selects rows whose operationSubtype dimension equals the given value if not null. To query for the null value, use {in: {operationSubtype: [null]}} instead. */ operationSubtype?: InputMaybe<Scalars['String']>; /** Selects rows whose operationType dimension equals the given value if not null. To query for the null value, use {in: {operationType: [null]}} instead. */ operationType?: InputMaybe<Scalars['String']>; or?: InputMaybe<Array<AccountFieldUsageFilter>>; /** Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead. */ parentType?: InputMaybe<Scalars['String']>; /** Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead. */ queryId?: InputMaybe<Scalars['ID']>; /** Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead. */ queryName?: InputMaybe<Scalars['String']>; /** Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead. */ schemaHash?: InputMaybe<Scalars['String']>; /** Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead. */ schemaTag?: InputMaybe<Scalars['String']>; /** Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead. */ serviceId?: InputMaybe<Scalars['ID']>; }; /** Filter for data in AccountFieldUsage. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together. */ export type AccountFieldUsageFilterIn = { /** Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension. */ clientName?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension. */ clientVersion?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension. */ fieldName?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose operationSubtype dimension is in the given list. A null value in the list means a row with null for that dimension. */ operationSubtype?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose operationType dimension is in the given list. A null value in the list means a row with null for that dimension. */ operationType?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension. */ parentType?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension. */ queryId?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>; /** Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension. */ queryName?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension. */ schemaHash?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension. */ schemaTag?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension. */ serviceId?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>; }; export type AccountFieldUsageMetrics = { __typename?: 'AccountFieldUsageMetrics'; estimatedExecutionCount: Scalars['Long']; executionCount: Scalars['Long']; referencingOperationCount: Scalars['Long']; }; export type AccountFieldUsageOrderBySpec = { column: AccountFieldUsageColumn; direction: Ordering; }; export type AccountFieldUsageRecord = { __typename?: 'AccountFieldUsageRecord'; /** Dimensions of AccountFieldUsage that can be grouped by. */ groupBy: AccountFieldUsageDimensions; /** Metrics of AccountFieldUsage that can be aggregated over. */ metrics: AccountFieldUsageMetrics; /** Starting segment timestamp. */ timestamp: Scalars['Timestamp']; }; /** A list of graphs that belong to an account. */ export type AccountGraphConnection = { __typename?: 'AccountGraphConnection'; /** A list of edges from the account to its graphs. */ edges?: Maybe<Array<AccountGraphEdge>>; /** A list of graphs attached to the account. */ nodes?: Maybe<Array<Service>>; /** Information to aid in pagination. */ pageInfo: PageInfo; }; /** An edge between an account and a graph. */ export type AccountGraphEdge = { __typename?: 'AccountGraphEdge'; /** A cursor for use in pagination. */ cursor: Scalars['String']; /** A graph attached to the account. */ node?: Maybe<Service>; }; /** A list of all variants from all graphs attached to the account. */ export type AccountGraphVariantConnection = { __typename?: 'AccountGraphVariantConnection'; /** A list of edges from the account to its variants. */ edges?: Maybe<Array<AccountGraphVariantEdge>>; /** A list of all variants from all graphs attached to the account. */ nodes?: Maybe<Array<GraphVariant>>; /** Information to aid in pagination. */ pageInfo: PageInfo; }; /** An edge between an account and a graph variant. */ export type AccountGraphVariantEdge = { __typename?: 'AccountGraphVariantEdge'; /** A cursor for use in pagination. */ cursor: Scalars['String']; /** A variant from a graph attached to the account. */ node?: Maybe<GraphVariant>; }; /** Columns of AccountGraphosCloudMetrics. */ export enum AccountGraphosCloudMetricsColumn { AGENT_VERSION = 'AGENT_VERSION', CLOUD_PROVIDER = 'CLOUD_PROVIDER', RESPONSE_SIZE = 'RESPONSE_SIZE', RESPONSE_SIZE_THROTTLED = 'RESPONSE_SIZE_THROTTLED', ROUTER_ID = 'ROUTER_ID', ROUTER_OPERATIONS = 'ROUTER_OPERATIONS', ROUTER_OPERATIONS_THROTTLED = 'ROUTER_OPERATIONS_THROTTLED', SCHEMA_TAG = 'SCHEMA_TAG', SERVICE_ID = 'SERVICE_ID', SUBGRAPH_FETCHES = 'SUBGRAPH_FETCHES', SUBGRAPH_FETCHES_THROTTLED = 'SUBGRAPH_FETCHES_THROTTLED', TIER = 'TIER', TIMESTAMP = 'TIMESTAMP' } export type AccountGraphosCloudMetricsDimensions = { __typename?: 'AccountGraphosCloudMetricsDimensions'; agentVersion?: Maybe<Scalars['String']>; cloudProvider?: Maybe<Scalars['String']>; routerId?: Maybe<Scalars['String']>; schemaTag?: Maybe<Scalars['String']>; serviceId?: Maybe<Scalars['ID']>; tier?: Maybe<Scalars['String']>; }; /** Filter for data in AccountGraphosCloudMetrics. Fields with dimension names represent equality checks. All fields are implicitly ANDed together. */ export type AccountGraphosCloudMetricsFilter = { /** Selects rows whose agentVersion dimension equals the given value if not null. To query for the null value, use {in: {agentVersion: [null]}} instead. */ agentVersion?: InputMaybe<Scalars['String']>; and?: InputMaybe<Array<AccountGraphosCloudMetricsFilter>>; /** Selects rows whose cloudProvider dimension equals the given value if not null. To query for the null value, use {in: {cloudProvider: [null]}} instead. */ cloudProvider?: InputMaybe<Scalars['String']>; in?: InputMaybe<AccountGraphosCloudMetricsFilterIn>; not?: InputMaybe<AccountGraphosCloudMetricsFilter>; or?: InputMaybe<Array<AccountGraphosCloudMetricsFilter>>; /** Selects rows whose routerId dimension equals the given value if not null. To query for the null value, use {in: {routerId: [null]}} instead. */ routerId?: InputMaybe<Scalars['String']>; /** Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead. */ schemaTag?: InputMaybe<Scalars['String']>; /** Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead. */ serviceId?: InputMaybe<Scalars['ID']>; /** Selects rows whose tier dimension equals the given value if not null. To query for the null value, use {in: {tier: [null]}} instead. */ tier?: InputMaybe<Scalars['String']>; }; /** Filter for data in AccountGraphosCloudMetrics. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together. */ export type AccountGraphosCloudMetricsFilterIn = { /** Selects rows whose agentVersion dimension is in the given list. A null value in the list means a row with null for that dimension. */ agentVersion?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose cloudProvider dimension is in the given list. A null value in the list means a row with null for that dimension. */ cloudProvider?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose routerId dimension is in the given list. A null value in the list means a row with null for that dimension. */ routerId?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension. */ schemaTag?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension. */ serviceId?: InputMaybe<Array<InputMaybe<Scalars['ID']>>>; /** Selects rows whose tier dimension is in the given list. A null value in the list means a row with null for that dimension. */ tier?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; }; export type AccountGraphosCloudMetricsMetrics = { __typename?: 'AccountGraphosCloudMetricsMetrics'; responseSize: Scalars['Long']; responseSizeThrottled: Scalars['Long']; routerOperations: Scalars['Long']; routerOperationsThrottled: Scalars['Long']; subgraphFetches: Scalars['Long']; subgraphFetchesThrottled: Scalars['Long']; }; export type AccountGraphosCloudMetricsOrderBySpec = { column: AccountGraphosCloudMetricsColumn; direction: Ordering; }; export type AccountGraphosCloudMetricsRecord = { __typename?: 'AccountGraphosCloudMetricsRecord'; /** Dimensions of AccountGraphosCloudMetrics that can be grouped by. */ groupBy: AccountGraphosCloudMetricsDimensions; /** Metrics of AccountGraphosCloudMetrics that can be aggregated over. */ metrics: AccountGraphosCloudMetricsMetrics; /** Starting segment timestamp. */ timestamp: Scalars['Timestamp']; }; export type AccountInvitation = { __typename?: 'AccountInvitation'; /** An accepted invitation cannot be used anymore */ acceptedAt?: Maybe<Scalars['Timestamp']>; /** Who accepted the invitation */ acceptedBy?: Maybe<User>; /** Time the invitation was created */ createdAt: Scalars['Timestamp']; /** Who created the invitation */ createdBy?: Maybe<User>; email: Scalars['String']; id: Scalars['ID']; /** Last time we sent an email for the invitation */ lastSentAt?: Maybe<Scalars['Timestamp']>; /** Access role for the invitee */ role: UserPermission; }; export type AccountLockDetails = { __typename?: 'AccountLockDetails'; actor?: Maybe<Scalars['String']>; reason?: Maybe<Scalars['String']>; timestamp?: Maybe<Scalars['Timestamp']>; type?: Maybe<AccountLockType>; }; export enum AccountLockType { AUTOMATED_TRIAL_END = 'AUTOMATED_TRIAL_END', MANUAL = 'MANUAL' } export type AccountMembership = { __typename?: 'AccountMembership'; account: Account; createdAt: Scalars['Timestamp']; /** If this membership is a free seat (based on role) */ free?: Maybe<Scalars['Boolean']>; permission: UserPermission; user: User; }; export type AccountMutation = { __typename?: 'AccountMutation'; /** @deprecated Use saml { addVerificationCert } instead */ addSamlVerificationCert?: Maybe<Scalars['Void']>; auditExport?: Maybe<AuditLogExportMutation>; /** * Cancel account subscriptions, subscriptions will remain active until the end of the paid period. * Currently only works for Recurly subscriptions on team plans. */ cancelSubscriptions?: Maybe<Account>; /** Create a CloudOnboarding for this account */ createCloudOnboarding: CreateOnboardingResult; createGraph: GraphCreationResult; createOidcConnection?: Maybe<OidcConnection>; createSamlConnection?: Maybe<SamlConnection>; createStaticInvitation?: Maybe<OrganizationInviteLink>; currentSubscription?: Maybe<BillingSubscriptionMutation>; /** Delete the account's avatar. Requires Account.canUpdateAvatar to be true. */ deleteAvatar?: Maybe<AvatarDeleteError>; /** If the org is on an enterprise trial, set the end date to a new value. */ extendTrial?: Maybe<Account>; /** Hard delete an account and all associated services */ hardDelete?: Maybe<Scalars['Void']>; /** Get reference to the account ID */ internalID?: Maybe<Scalars['String']>; /** Send an invitation to join the account by E-mail */ invite?: Maybe<AccountInvitation>; /** Lock an account, which limits the fu