@apollo/server
Version:
Core engine for Apollo GraphQL server
1,018 lines (923 loc) • 635 kB
TypeScript
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