type Query { organization( """Reference to the organization that should be fetched.""" reference: OrganizationReferenceInput! ): Organization project(reference: ProjectReferenceInput!): Project target(reference: TargetReferenceInput!): Target } type Mutation { assignMemberRole(input: AssignMemberRoleInput!): AssignMemberRoleResult! """Create a CDN access token for a target.""" createCdnAccessToken(input: CreateCdnAccessTokenInput!): CdnAccessTokenCreateResult! """Create a contract for a given target.""" createContract(input: CreateContractInput!): CreateContractResult! """Create a new member role with permissions.""" createMemberRole(input: CreateMemberRoleInput!): CreateMemberRoleResult! """Create a new access token scoped to an organization.""" createOrganizationAccessToken(input: CreateOrganizationAccessTokenInput!): CreateOrganizationAccessTokenResult! createProject(input: CreateProjectInput!): CreateProjectResult! """Create a new target within an existing project.""" createTarget(input: CreateTargetInput!): CreateTargetResult! """Delete any type of access token (organization, project, or personal).""" deleteAccessToken(input: DeleteAccessTokenInput!): DeleteAccessTokenResult! """Delete a CDN access token.""" deleteCdnAccessToken(input: DeleteCdnAccessTokenInput!): DeleteCdnAccessTokenResult! deleteMemberRole(input: DeleteMemberRoleInput!): DeleteMemberRoleResult! """Delete an organization-level access token.""" deleteOrganizationAccessToken(input: DeleteOrganizationAccessTokenInput!): DeleteOrganizationAccessTokenResult! @deprecated(reason: "Please use 'Mutation.deleteAccessToken' instead.") deleteOrganizationInvitation(input: DeleteOrganizationInvitationInput!): DeleteOrganizationInvitationResult! deleteProject(input: DeleteProjectInput!): DeleteProjectResult! """Delete a target.""" deleteTarget(input: DeleteTargetInput!): DeleteTargetResult! """Disable a contract.""" disableContract(input: DisableContractInput!): DisableContractResult! inviteToOrganizationByEmail(input: InviteToOrganizationByEmailInput!): InviteToOrganizationByEmailResult! retireAppDeployment(input: RetireAppDeploymentInput!): RetireAppDeploymentResult! updateMemberRole(input: UpdateMemberRoleInput!): UpdateMemberRoleResult! updateProjectSlug(input: UpdateProjectSlugInput!): UpdateProjectSlugResult! """Update the schema composition configuration of a federation project.""" updateSchemaComposition(input: UpdateSchemaCompositionInput!): UpdateSchemaCompositionResult! """Update the conditional breaking change configuration of a target.""" updateTargetConditionalBreakingChangeConfiguration(input: UpdateTargetConditionalBreakingChangeConfigurationInput!): UpdateTargetConditionalBreakingChangeConfigurationResult! """ Update the targets dangerous change classification settings. This allows dangerous changes fail schema checks. """ updateTargetDangerousChangeClassification(input: UpdateTargetDangerousChangeClassificationInput!): UpdateTargetDangerousChangeClassificationResult! """Updates the target's explorer endpoint url.""" updateTargetGraphQLEndpointUrl(input: UpdateTargetGraphQLEndpointUrlInput!): UpdateTargetGraphQLEndpointUrlResult! } """ A date-time string at UTC, such as '2007-12-03T10:15:30Z', is compliant with the date-time format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar. This scalar is a description of an exact instant on the timeline such as the instant that a user account was created. This scalar ignores leap seconds (thereby assuming that a minute constitutes 59 seconds). In this respect, it diverges from the RFC 3339 profile. Where an RFC 3339 compliant date-time string has a time-zone other than UTC, it is shifted to UTC. For example, the date-time string '2016-01-01T14:10:20+01:00' is shifted to '2016-01-01T13:10:20Z'. """ scalar DateTime scalar SafeInt type AppDeployment { """The timestamp when the app deployment was activated.""" activatedAt: DateTime """The timestamp when the app deployment was created.""" createdAt: DateTime! id: ID! """ The last time a GraphQL request that used the app deployment was reported. """ lastUsed: DateTime name: String! """ The timestamp when the app deployment was retired. Only present for retired deployments. """ retiredAt: DateTime version: String! } type AppDeploymentConnection { edges: [AppDeploymentEdge!]! pageInfo: PageInfo! """The total number of app deployments for this target.""" total: Int! } type AppDeploymentEdge { cursor: String! node: AppDeployment! } """Details about why protection prevented retirement.""" type AppDeploymentProtectionBlockDetails { """Current traffic percentage of this app deployment.""" currentTrafficPercentage: Float """Days since the app deployment was last used.""" daysSinceLastUsed: Int """The last time the app deployment was used.""" lastUsed: DateTime """Maximum traffic percentage allowed for retirement.""" maxTrafficPercentage: Float! """Required minimum days of inactivity.""" requiredMinDaysInactive: Int! } """@oneOf""" type AssignMemberRoleResult { error: AssignMemberRoleResultError ok: AssignMemberRoleResultOk } type AssignMemberRoleResultError { message: String! } type AssignMemberRoleResultOk { previousMemberRole: MemberRole updatedMember: Member! } type CdnAccessToken { alias: String! createdAt: DateTime! firstCharacters: String! id: ID! lastCharacters: String! } """@oneOf""" type CdnAccessTokenCreateResult { error: CdnAccessTokenCreateResultError ok: CdnAccessTokenCreateResultOk } type CdnAccessTokenCreateResultError { message: String! } type CdnAccessTokenCreateResultOk { cdnUrl: String! createdCdnAccessToken: CdnAccessToken! secretAccessToken: String! } type ClientStats { operations: OperationStatsValuesConnection! totalRequests: SafeInt! totalVersions: SafeInt! } type ClientStatsValues { count: Float! name: String! percentage: Float! } type ClientStatsValuesConnection { edges: [ClientStatsValuesEdge!]! pageInfo: PageInfo! } type ClientStatsValuesEdge { cursor: String! node: ClientStatsValues! } type CompositeSchema { author: String! commit: ID! service: String source: String! url: String } type ConditionalBreakingChangeConfiguration { """ Determines which formula is used to determine if a change is considered breaking or not. Only one formula can be used at a time. """ breakingChangeFormula: BreakingChangeFormulaType! """ List of app deployment names that are excluded from the breaking change detection. """ excludedAppDeployments: [String!]! """ List of client names that are be excluded from the breaking change detection. """ excludedClients: [String!]! """Whether conditional breaking change detection is enabled.""" isEnabled: Boolean! """ If TargetValidationSettings.breakingChangeFormula is PERCENTAGE, then this is the percent of the total operations over the TargetValidationSettings.period required for a change to be considered breaking. """ percentage: Float! """ The period in days. Operations of the last x days will be used for the conditional breaking change detection. """ period: Int! """ If TargetValidationSettings.breakingChangeFormula is REQUEST_COUNT, then this is the total number of operations over the TargetValidationSettings.period required for a change to be considered breaking. """ requestCount: Int! """ List of target within the same project, whose operations are used for the breaking change detection. """ targets: [Target!]! } type Contract { contractName: String! createdAt: DateTime! excludeTags: [String!] id: ID! includeTags: [String!] isDisabled: Boolean! removeUnreachableTypesFromPublicApiSchema: Boolean! } """Schema check result for contracts""" type ContractCheck { compositeSchemaSDL: String contractName: String! """The contract version against this check was performed.""" contractVersion: ContractVersion isSuccess: Boolean! schemaChanges: SchemaChangeConnection schemaCompositionErrors: SchemaErrorConnection supergraphSDL: String } type ContractCheckConnection { edges: [ContractCheckEdge!]! pageInfo: PageInfo! } type ContractCheckEdge { cursor: String! node: ContractCheck! } type ContractConnection { edges: [ContractEdge!]! pageInfo: PageInfo! } type ContractEdge { cursor: String! node: Contract! } type ContractVersion { compositeSchemaSDL: String contractName: String! """Whether this contract version is composable.""" isComposable: Boolean! previousContractVersion: ContractVersion previousDiffableContractVersion: ContractVersion schemaChanges: SchemaChangeConnection schemaCompositionErrors: SchemaErrorConnection supergraphSDL: String } type ContractVersionConnection { edges: [ContractVersionEdge!]! pageInfo: PageInfo! } type ContractVersionEdge { cursor: String! node: ContractVersion! } type CreateContractInputErrors { contractName: String excludeTags: String includeTags: String target: String } type CreateContractResult { error: CreateContractResultError ok: CreateContractResultOk } type CreateContractResultError { details: CreateContractInputErrors! message: String! } type CreateContractResultOk { createdContract: Contract! } type CreateMemberRoleInputErrors { description: String name: String } """@oneOf""" type CreateMemberRoleResult { error: CreateMemberRoleResultError ok: CreateMemberRoleResultOk } type CreateMemberRoleResultError { """The detailed validation error messages for the input fields.""" inputErrors: CreateMemberRoleInputErrors message: String! } type CreateMemberRoleResultOk { createdMemberRole: MemberRole! updatedOrganization: Organization! } """ Result returned after attempting to create an organization access token. """ type CreateOrganizationAccessTokenResult { """Contains error information if the creation failed.""" error: CreateOrganizationAccessTokenResultError """Indicates a successful creation.""" ok: CreateOrganizationAccessTokenResultOk } """Payload returned when organization access token creation fails.""" type CreateOrganizationAccessTokenResultError { """Field-specific validation error details, if any.""" details: CreateOrganizationAccessTokenResultErrorDetails """A human-readable message describing the reason for the failure.""" message: String! } """ Field-level validation error details for organization access token creation. """ type CreateOrganizationAccessTokenResultErrorDetails { """Validation error message related to the provided description.""" description: String """Validation error message related to the provided title.""" title: String } """Payload returned on successful organization access token creation.""" type CreateOrganizationAccessTokenResultOk { """ The private access key corresponding to the new token. This value is only returned once at creation time and cannot be retrieved later. """ privateAccessKey: String! } type CreateProjectInputErrors { slug: String } type CreateProjectResult { error: CreateProjectResultError ok: CreateProjectResultOk } type CreateProjectResultError { inputErrors: CreateProjectInputErrors! message: String! } type CreateProjectResultOk { createdProject: Project! } type CreateTargetResult { error: CreateTargetResultError ok: CreateTargetResultOk } type CreateTargetResultError { message: String! } type CreateTargetResultOk { createdTarget: Target! } type DateRange { from: DateTime! to: DateTime! } """Result returned after attempting to delete an access token.""" type DeleteAccessTokenResult { """Contains error information if the deletion failed.""" error: DeleteAccessTokenResultError """Indicates a successful deletion.""" ok: DeleteAccessTokenResultOk } """Payload returned when access token deletion fails.""" type DeleteAccessTokenResultError { """A human-readable message describing the reason for the failure.""" message: String! } """Payload returned on successful access token deletion.""" type DeleteAccessTokenResultOk { """The unique ID of the access token that was deleted.""" deletedAccessTokenId: ID! } """@oneOf""" type DeleteCdnAccessTokenResult { error: DeleteCdnAccessTokenResultError ok: DeleteCdnAccessTokenResultOk } type DeleteCdnAccessTokenResultError { message: String! } type DeleteCdnAccessTokenResultOk { deletedCdnAccessTokenId: ID! } """@oneOf""" type DeleteMemberRoleResult { error: DeleteMemberRoleResultError ok: DeleteMemberRoleResultOk } type DeleteMemberRoleResultError { message: String! } type DeleteMemberRoleResultOk { deletedMemberRoleId: ID! updatedOrganization: Organization! } """ Result returned after attempting to delete an organization access token. """ type DeleteOrganizationAccessTokenResult { """Contains error details if the deletion failed.""" error: DeleteOrganizationAccessTokenResultError """Indicates a successful deletion.""" ok: DeleteOrganizationAccessTokenResultOk } """Payload returned when an organization access token deletion fails.""" type DeleteOrganizationAccessTokenResultError { """A human-readable message describing the reason for the failure.""" message: String! } """Payload returned on successful organization access token deletion.""" type DeleteOrganizationAccessTokenResultOk { """The ID of the organization access token that was deleted.""" deletedOrganizationAccessTokenId: ID! } """@oneOf""" type DeleteOrganizationInvitationResult { error: DeleteOrganizationInvitationResultError ok: DeleteOrganizationInvitationResultOk } type DeleteOrganizationInvitationResultError { message: String! } type DeleteOrganizationInvitationResultOk { deletedOrganizationInvitationId: ID! } type DeleteProjectResult { error: DeleteProjectResultError ok: DeleteProjectResultOk } type DeleteProjectResultError { message: String! } type DeleteProjectResultOk { deletedProjectId: ID! } type DeleteTargetResult { error: DeleteTargetResultError ok: DeleteTargetResultOk } type DeleteTargetResultError { message: String! } type DeleteTargetResultOk { deletedTargetId: ID! } type DeletedSchemaLog { """The name of the service that got deleted.""" deletedService: String! """The previous SDL of the full schema or subgraph.""" previousServiceSdl: String } """ Explorer for navigating the deprecated schema parts with usage data provided by the contextual period. """ type DeprecatedSchemaExplorer { """ The affected types whose fields/values/members are deprecated. The types within the result only contain deprecated fields/values/members, all other entities are excluded, they are not a representation of the full GraphQL schema. """ types: [GraphQLNamedType!]! } type DisableContractResult { error: DisableContractResultError ok: DisableContractResultOk } type DisableContractResultError { message: String! } type DisableContractResultOk { disabledContract: Contract! } type DurationValues { avg: Int! p75: Int! p90: Int! p95: Int! p99: Int! } """A failed schema check.""" type FailedSchemaCheck implements SchemaCheck { compositeSchemaSDL: String compositionErrors: SchemaErrorConnection """Conditional breaking change metadata.""" conditionalBreakingChangeMetadata: SchemaCheckConditionalBreakingChangeMetadata """Results of the contracts""" contractChecks: ContractCheckConnection createdAt: String! id: ID! """Meta information about the schema check.""" meta: SchemaCheckMeta """The previous schema SDL. For composite schemas this is the service.""" previousSchemaSDL: String schemaChanges: SchemaChangeConnection """The SDL of the schema that was checked.""" schemaSDL: String! """ The schema version against this check was performed. Is null if there is no schema version published yet. """ schemaVersion: SchemaVersion """ The name of the service that owns the schema. Is null for non composite project types. """ serviceName: String supergraphSDL: String """The URL of the schema check on the Hive Web App.""" webUrl: String } type GraphQLArgument { defaultValue: String deprecationReason: String description: String isDeprecated: Boolean! name: String! type: String! usage: SchemaCoordinateUsage! } type GraphQLEnumType implements GraphQLNamedType { description: String name: String! """ Metadata specific to Apollo Federation Projects. Is null if no meta information is available. """ supergraphMetadata: SupergraphMetadata usage: SchemaCoordinateUsage! values: [GraphQLEnumValue!]! } type GraphQLEnumValue { deprecationReason: String description: String isDeprecated: Boolean! name: String! """ Metadata specific to Apollo Federation Projects. Is null if no meta information is available. """ supergraphMetadata: SupergraphMetadata usage: SchemaCoordinateUsage! } type GraphQLField { args: [GraphQLArgument!]! deprecationReason: String description: String isDeprecated: Boolean! name: String! """ Metadata specific to Apollo Federation Projects. Is null if no meta information is available. """ supergraphMetadata: SupergraphMetadata type: String! usage: SchemaCoordinateUsage! } type GraphQLInputField { defaultValue: String deprecationReason: String description: String isDeprecated: Boolean! name: String! """ Metadata specific to Apollo Federation Projects. Is null if no meta information is available (e.g. this is not an apollo federation project). """ supergraphMetadata: SupergraphMetadata type: String! usage: SchemaCoordinateUsage! } type GraphQLInputObjectType implements GraphQLNamedType { description: String fields: [GraphQLInputField!]! name: String! """ Metadata specific to Apollo Federation Projects. Is null if no meta information is available (e.g. this is not an apollo federation project). """ supergraphMetadata: SupergraphMetadata usage: SchemaCoordinateUsage! } type GraphQLInterfaceType implements GraphQLNamedType { description: String fields: [GraphQLField!]! interfaces: [String!]! name: String! """ Metadata specific to Apollo Federation Projects. Is null if no meta information is available. """ supergraphMetadata: SupergraphMetadata usage: SchemaCoordinateUsage! } type GraphQLObjectType implements GraphQLNamedType { description: String fields: [GraphQLField!]! interfaces: [String!]! name: String! """ Metadata specific to Apollo Federation Projects. Is null if no meta information is available (e.g. this is not an apollo federation project). """ supergraphMetadata: SupergraphMetadata usage: SchemaCoordinateUsage! } type GraphQLScalarType implements GraphQLNamedType { description: String name: String! """ Metadata specific to Apollo Federation Projects. Is null if no meta information is available (e.g. this is not an apollo federation project). """ supergraphMetadata: SupergraphMetadata usage: SchemaCoordinateUsage! } type GraphQLUnionType implements GraphQLNamedType { description: String members: [GraphQLUnionTypeMember!]! name: String! """ Metadata specific to Apollo Federation Projects. Is null if no meta information is available (e.g. this is not an apollo federation project). """ supergraphMetadata: SupergraphMetadata usage: SchemaCoordinateUsage! } type GraphQLUnionTypeMember { name: String! """ Metadata specific to Apollo Federation Projects. Is null if no meta information is available (e.g. this is not an apollo federation project). """ supergraphMetadata: SupergraphMetadata usage: SchemaCoordinateUsage! } type InviteToOrganizationByEmailInputErrors { email: String } """@oneOf""" type InviteToOrganizationByEmailResult { error: InviteToOrganizationByEmailResultError ok: InviteToOrganizationByEmailResultOk } type InviteToOrganizationByEmailResultError { """The detailed validation error messages for the input fields.""" inputErrors: InviteToOrganizationByEmailInputErrors! message: String! } type InviteToOrganizationByEmailResultOk { createdOrganizationInvitation: OrganizationInvitation! } type Member { isOwner: Boolean! resourceAssignment: ResourceAssignment! role: MemberRole! user: User! } type MemberConnection { edges: [MemberEdge!]! pageInfo: PageInfo! } type MemberEdge { cursor: String! node: Member! } type MemberRole { description: String! id: ID! """ Whether the role is a built-in role. Built-in roles cannot be deleted or modified. """ isLocked: Boolean! name: String! """List of permissions attached to this member role.""" permissions: [String!]! } type MemberRoleConnection { edges: [MemberRoleEdge!]! } type MemberRoleEdge { node: MemberRole! } type Operation { """Operation body""" body: String! """Hash that uniquely identifies the operation.""" hash: ID! """Name of the operation""" name: String """Operation type""" type: GraphQLOperationType! } type OperationStatsValues { """Total number of requests""" count: SafeInt! """Number of requests that succeeded""" countOk: SafeInt! duration: DurationValues! id: ID! name: String! operationHash: String! percentage: Float! } type OperationStatsValuesConnection { edges: [OperationStatsValuesEdge!]! pageInfo: PageInfo! } type OperationStatsValuesEdge { cursor: String! node: OperationStatsValues! } type OperationsStats { clients: ClientStatsValuesConnection! duration: DurationValues! operations: OperationStatsValuesConnection! totalFailures: SafeInt! totalOperations: Int! totalRequests: SafeInt! } type Organization { """Retrieve a organization scoped access token by it's id.""" accessToken(id: ID!): OrganizationAccessToken """Paginated list of all organization scoped access tokens.""" accessTokens(after: String, first: Int): OrganizationAccessTokenConnection! """List of available permission groups that can be assigned to users.""" availableMemberPermissionGroups: [PermissionGroup!]! """ List of available permission groups that can be assigned to organization access tokens. """ availableOrganizationAccessTokenPermissionGroups: [PermissionGroup!]! """Unique UUID of the organization""" id: ID! invitations(after: String, first: Int): OrganizationInvitationConnection """ Whether or not the monthly operations limit is currently exceeded. For hobby and pro plans, once the limit is exceeded, operation usage data received from the organization will be ignored. Enterprise plans will continue to have their usage data ingested. """ isMonthlyOperationsLimitExceeded: Boolean! memberRoles(after: String, first: Int): MemberRoleConnection members(after: String, first: Int): MemberConnection! """ The monthly limit for number of operations ingested. For hobby and pro plans, once this limit is exceeded, operation usage data received from the organization will be ignored. Enterprise plans will continue to have their usage data ingested. """ monthlyOperationsLimit: SafeInt! owner: Member! projects: ProjectConnection! """The slug of the organization.""" slug: String! """ An approximation of the current monthly operation usage. This is based on how many operations have been successfully ingested by Hive, which is an asynchronous process. """ usageEstimation(input: OrganizationUsageEstimationInput!): UsageEstimation """ The configured retention for usage information, in days. Retention impacts how long data is stored. """ usageRetentionInDays: Int! } """Organization-scoped access token.""" type OrganizationAccessToken { createdAt: DateTime! description: String firstCharacters: String! id: ID! permissions: [String!]! resources: ResourceAssignment! title: String! } type OrganizationAccessTokenConnection { edges: [OrganizationAccessTokenEdge!]! pageInfo: PageInfo! } type OrganizationAccessTokenEdge { cursor: String! node: OrganizationAccessToken! } type OrganizationInvitation { createdAt: DateTime! email: String! expiresAt: DateTime! id: ID! role: MemberRole! } type OrganizationInvitationConnection { edges: [OrganizationInvitationEdge!]! pageInfo: PageInfo! } type OrganizationInvitationEdge { cursor: String! node: OrganizationInvitation! } type PageInfo { endCursor: String! hasNextPage: Boolean! hasPreviousPage: Boolean! startCursor: String! } type Permission { dependsOnId: ID description: String! id: ID! level: PermissionLevelType! title: String! } type PermissionGroup { id: ID! permissions: [Permission!]! title: String! } type Project { createdAt: DateTime! id: ID! slug: String! targets: TargetConnection! type: ProjectType! } type ProjectConnection { edges: [ProjectEdge!]! pageInfo: PageInfo! } type ProjectEdge { cursor: String! node: Project! } type ProjectResourceAssignment { project: Project! projectId: ID! targets: ProjectTargetsResourceAssignment! } type ProjectTargetsResourceAssignment { mode: ResourceAssignmentModeType! targets: [TargetResouceAssignment!] } type PromotionSchemaLog { """The origin of this schema log promotion.""" _: Boolean } type PushedSchemaLog { """ The previous SDL of the pushed schema. Is null for single schema projects. """ previousServiceSdl: String """The name of the service that got published.""" service: String """ The serviceSDL of the pushed schema. Is null for single schema projects. """ serviceSdl: String } type ResourceAssignment { mode: ResourceAssignmentModeType! projects: [ProjectResourceAssignment!] } type RetireAppDeploymentError { message: String! """ Details about why protection prevented retirement. Only present when retirement was blocked due to protection rules. """ protectionDetails: AppDeploymentProtectionBlockDetails } type RetireAppDeploymentOk { retiredAppDeployment: AppDeployment! } type RetireAppDeploymentResult { error: RetireAppDeploymentError ok: RetireAppDeploymentOk } """ Describes a schema change for either a schema version ('SchemaVersion') or schema check ('SchemaCheck'). """ type SchemaChange { """ List of active app deployments that would be affected by this breaking change. Only populated for breaking changes when app deployments are enabled. """ affectedAppDeployments: SchemaChangeAffectedAppDeploymentsConnection """Whether the breaking change is safe based on usage data.""" isSafeBasedOnUsage: Boolean! """Message describing the schema change.""" message: String! """ The severity level of this schema change. Note: A schema change with the impact 'SeverityLevelType.BREAKING' can still be safe based on the usage ('SchemaChange.isSafeBasedOnUsage'). """ severityLevel: SeverityLevelType! """ The reason for the schema changes severity level ('SchemaChange.severityLevel') """ severityReason: String """ Usage statistics about the schema change if it is not safe based on usage. The statistics are determined based on the breaking change configuration. The usage statistics are only available for breaking changes and only represent a snapshot of the usage data at the time of the schema check/schema publish. """ usageStatistics: SchemaChangeUsageStatistics } """An app deployment that is affected by a breaking schema change.""" type SchemaChangeAffectedAppDeployment { """The timestamp when the app deployment was activated.""" activatedAt: DateTime """ The operations within this app deployment that use the affected schema coordinate. """ affectedOperations: SchemaChangeAffectedAppDeploymentOperationsConnection! """The timestamp when the app deployment was created.""" createdAt: DateTime """The unique identifier of the app deployment.""" id: ID! """ The last time a GraphQL request that used the app deployment was reported. """ lastUsed: DateTime """The name of the app deployment.""" name: String! """ The timestamp when the app deployment was retired. Only present for retired deployments. """ retiredAt: DateTime """ Total count of operations within this app deployment that use the affected schema coordinate. """ totalAffectedOperations: Int! """The version of the app deployment.""" version: String! } type SchemaChangeAffectedAppDeploymentEdge { cursor: String! node: SchemaChangeAffectedAppDeployment! } """ An operation within an app deployment that is affected by a breaking schema change. """ type SchemaChangeAffectedAppDeploymentOperation { """The hash of the operation document.""" hash: String! """The name of the operation (if named).""" name: String } type SchemaChangeAffectedAppDeploymentOperationEdge { cursor: String! node: SchemaChangeAffectedAppDeploymentOperation! } type SchemaChangeAffectedAppDeploymentOperationsConnection { edges: [SchemaChangeAffectedAppDeploymentOperationEdge!]! pageInfo: PageInfo! } type SchemaChangeAffectedAppDeploymentsConnection { edges: [SchemaChangeAffectedAppDeploymentEdge!]! pageInfo: PageInfo! totalCount: Int! } type SchemaChangeConnection { edges: [SchemaChangeEdge!]! pageInfo: PageInfo! } type SchemaChangeEdge { cursor: String! node: SchemaChange! } type SchemaChangeUsageStatistics { """List of top clients that are affected by this schema change.""" topAffectedClients: [SchemaChangeUsageStatisticsAffectedClient!]! """List of the top operations that are affected by this schema change.""" topAffectedOperations: [SchemaChangeUsageStatisticsAffectedOperation!]! } type SchemaChangeUsageStatisticsAffectedClient { """The number of times the client called the operation in the period.""" count: Float! """Name of the client.""" name: String! """The percentage share of the client of the total traffic.""" percentage: Float! } type SchemaChangeUsageStatisticsAffectedOperation { """The number of times the operation was called in the period.""" count: Float! """Hash of the operation.""" hash: String! """Name of the operation.""" name: String! """ Get the associated operation. The field is nullable as this data is only stored for the duration of the usage retention period. """ operation: Operation """The percentage share of the operation of the total traffic.""" percentage: Float! } type SchemaCheckConditionalBreakingChangeMetadata { period: DateRange! usage: SchemaCheckConditionalBreakingChangeMetadataUsage! } type SchemaCheckConditionalBreakingChangeMetadataUsage { """Total amount of requests for the settings and period.""" totalRequestCount: Float! } type SchemaCheckConnection { edges: [SchemaCheckEdge!]! pageInfo: PageInfo! } type SchemaCheckEdge { cursor: String! node: SchemaCheck! } type SchemaCheckMeta { author: String! commit: String! } type SchemaConnection { edges: [SchemaEdge!]! pageInfo: PageInfo! } type SchemaCoordinateStats { clients: ClientStatsValuesConnection! operations: OperationStatsValuesConnection! """ How many requests included this coordinate. If a coordinate is used by an operation, it counts as one, regardless of how many times the coordinate is used. """ totalRequests: SafeInt! } """ Information about the schema coordinate usage within the contextual period. """ type SchemaCoordinateUsage { """ The total amount of errors of the schema coordinate within the contextual period. """ errorTotal: SafeInt """Whether the schema coordinate is used within the contextual period.""" isUsed: Boolean! """ The top operations executed for this schema coordinate within the contextual period. """ topOperations(limit: Int!): [SchemaCoordinateUsageOperation!]! """ The total amount of usages of the schema coordinate within the contextual period. """ total: Float! """ The total amount of resolutions of the schema coordinate within the contextual period. """ totalResolutions: SafeInt """ A list of clients that use this schema coordinate within GraphQL operation documents. Is null if used by none clients. """ usedByClients: [String!] } type SchemaCoordinateUsageOperation { """ The number of times the operation was called within the contextual period. """ count: Float! """The hash of the GraphQL operation""" hash: String! """The name of the GraphQL operation.""" name: String! } type SchemaEdge { cursor: String! node: Schema! } type SchemaError { message: String! } type SchemaErrorConnection { edges: [SchemaErrorEdge!]! pageInfo: PageInfo! } type SchemaErrorEdge { cursor: String! node: SchemaError! } type SchemaVersion { """Contract versions of this schema version.""" contractVersions: ContractVersionConnection """ An overview of deprecated fields and types with their usage in the GraphQL schema. """ deprecatedSchema( """ The period for which the usage data should be included within the result. Defaults to the last 30 days by default. """ period: SchemaExplorerPeriodInput ): DeprecatedSchemaExplorer id: ID! """ A schema version is valid if the composition and contract compositions are successful. """ isValid: Boolean! """ The log that initiated this schema version. For a federation schema this is the published or removed subgraph/service. """ log: RegistryLog! @deprecated(reason: "Please use 'SchemaVersion.origin' instead.") """ Schema changes that were introduced in this schema version (compared to the previous version). """ schemaChanges: SchemaChangeConnection schemaCompositionErrors: SchemaErrorConnection """ The schemas that are composed within this schema version. For federation these are the subgraphs/services. """ schemas: SchemaConnection! """The (public) schema SDL.""" sdl: String """The supergraph SDL for a federation schema.""" supergraph: String """ An overview of unused fields and their types within the GraphQL schema. """ unusedSchema( """ The period to use in order to determind whether a field is unused. A field is unused if it has not been requested within the specified period. Defaults to the last 30 days by default. """ period: SchemaExplorerPeriodInput ): UnusedSchemaExplorer } type SchemaVersionConnection { edges: [SchemaVersionEdge!]! pageInfo: PageInfo! } type SchemaVersionEdge { cursor: String! node: SchemaVersion! } type SingleSchema { author: String! commit: ID! source: String! } """A successful schema check.""" type SuccessfulSchemaCheck implements SchemaCheck { """Conditional breaking change metadata.""" conditionalBreakingChangeMetadata: SchemaCheckConditionalBreakingChangeMetadata """Results of the contracts""" contractChecks: ContractCheckConnection createdAt: String! id: ID! """Meta information about the schema check.""" meta: SchemaCheckMeta """The previous schema SDL. For composite schemas this is the service.""" previousSchemaSDL: String schemaChanges: SchemaChangeConnection """The SDL of the schema that was checked.""" schemaSDL: String! """ The schema version against this check was performed. Is null if there is no schema version published yet. """ schemaVersion: SchemaVersion """ The name of the service that owns the schema. Is null for non composite project types. """ serviceName: String """The URL of the schema check on the Hive Web App.""" webUrl: String } type SupergraphMetadata { """ List of service names that own the field/type. Resolves to null if the entity (field, type, scalar) does not belong to any service. """ ownedByServiceNames: [String!] } type Target { """ Find active app deployments matching specific criteria. Date filter conditions (lastUsedBefore, neverUsedAndCreatedBefore) use OR semantics. If no date filters are provided, all active deployments are returned. The name filter uses AND semantics to narrow results. Only active deployments are returned (not pending or retired). """ activeAppDeployments(after: String, filter: ActiveAppDeploymentsFilter!, first: Int): AppDeploymentConnection! """ Get a list of paginated schema contracts that are active for the target. """ activeContracts(after: String, first: Int): ContractConnection! """ A paginated connection of CDN tokens for accessing this target's artifacts. """ cdnAccessTokens(after: String, first: Int): TargetCdnAccessTokenConnection! """Retrieve statistics for a clients usage.""" clientStats( """Name of the client for which statistics should be fetched.""" clientName: String! """The usage period for retrieving the statistics.""" period: DateRangeInput! ): ClientStats! """Configuration for conditional breaking change detection.""" conditionalBreakingChangeConfiguration: ConditionalBreakingChangeConfiguration! """Get a list of paginated schema contracts for the target.""" contracts(after: String, first: Int): ContractConnection! """ Whether a dangerous change fails a schema check and requires a manual approval. """ failDiffOnDangerousChange: Boolean! """ The endpoint url of the target's explorer/laboratory instance. This is the public endpoint configured in target's settings. """ graphqlEndpointUrl: String id: ID! """The latest (potentially invalid) schema version.""" latestSchemaVersion: SchemaVersion """The latest valid (composable) schema version.""" latestValidSchemaVersion: SchemaVersion """Retrieve an operation via it's hash.""" operation(hash: ID!): Operation """Retrieve an overview of all operation statistics.""" operationsStats( """Optional filter.""" filter: OperationStatsFilterInput """The usage period for retrieving the statistics.""" period: DateRangeInput! ): OperationsStats! """Get a schema check for the target by ID.""" schemaCheck(id: ID!): SchemaCheck """Get a list of paginated schema checks for a target.""" schemaChecks(after: String, first: Int): SchemaCheckConnection! """Retrieve statistics over a schema coordinates usage.""" schemaCoordinateStats( """The usage period for retrieving the statistics.""" period: DateRangeInput! """The schema coordinate for which statistics should be fetched.""" schemaCoordinate: String! ): SchemaCoordinateStats! """Retreive a specific schema version in this target by it's id.""" schemaVersion(id: ID!): SchemaVersion """Paginated list of schema versions, ordered from recent to oldest.""" schemaVersions(after: String, first: Int): SchemaVersionConnection! slug: String! } type TargetAppDeploymentsResourceAssignment { appDeployments: [String!] mode: ResourceAssignmentModeType! } type TargetCdnAccessTokenConnection { edges: [TargetCdnAccessTokenEdge!]! pageInfo: PageInfo! } type TargetCdnAccessTokenEdge { cursor: String! node: CdnAccessToken! } type TargetConnection { edges: [TargetEdge!]! pageInfo: PageInfo! } type TargetEdge { cursor: String! node: Target! } type TargetResouceAssignment { appDeployments: TargetAppDeploymentsResourceAssignment! services: TargetServicesResourceAssignment! target: Target! targetId: ID! } type TargetServicesResourceAssignment { mode: ResourceAssignmentModeType! services: [String!] } """ Explorer for navigating unused schema parts within the contextual provided period. """ type UnusedSchemaExplorer { """ The affected unused types and their fields/values/members etc. The types within the result only contain unused fields/values/members, all other entities are excluded, they are not a representation of the full GraphQL schema. """ types: [GraphQLNamedType!]! } type UpdateMemberRoleInputErrors { description: String name: String } """@oneOf""" type UpdateMemberRoleResult { error: UpdateMemberRoleResultError ok: UpdateMemberRoleResultOk } type UpdateMemberRoleResultError { """The detailed validation error messages for the input fields.""" inputErrors: UpdateMemberRoleInputErrors message: String! } type UpdateMemberRoleResultOk { updatedRole: MemberRole! } type UpdateProjectSlugError { message: String! } type UpdateProjectSlugOk { updatedProject: Project! } type UpdateProjectSlugResult { error: UpdateProjectSlugError ok: UpdateProjectSlugOk } type UpdateSchemaCompositionExternalError implements UpdateSchemaCompositionError { inputErrors: UpdateSchemaCompositionExternalInputErrors message: String! } type UpdateSchemaCompositionExternalInputErrors { endpoint: String secret: String } type UpdateSchemaCompositionLegacyError implements UpdateSchemaCompositionError { message: String! } type UpdateSchemaCompositionNativeError implements UpdateSchemaCompositionError { message: String! } """@oneOf""" type UpdateSchemaCompositionResult { error: UpdateSchemaCompositionError ok: UpdateSchemaCompositionResultOk } type UpdateSchemaCompositionResultOk { updatedProject: Project! } type UpdateTargetConditionalBreakingChangeConfigurationResult { error: UpdateTargetConditionalBreakingChangeConfigurationResultError ok: UpdateTargetConditionalBreakingChangeConfigurationResultOk } type UpdateTargetConditionalBreakingChangeConfigurationResultError { message: String! } type UpdateTargetConditionalBreakingChangeConfigurationResultOk { target: Target! } type UpdateTargetDangerousChangeClassificationResult { error: UpdateTargetDangerousChangeClassificationResultError ok: UpdateTargetDangerousChangeClassificationResultOk } type UpdateTargetDangerousChangeClassificationResultError { message: String! } type UpdateTargetDangerousChangeClassificationResultOk { target: Target! } type UpdateTargetGraphQLEndpointUrlResult { error: UpdateTargetGraphQLEndpointUrlResultError ok: UpdateTargetGraphQLEndpointUrlResultOk } type UpdateTargetGraphQLEndpointUrlResultError { message: String! } type UpdateTargetGraphQLEndpointUrlResultOk { target: Target! } type UsageEstimation { """The estimated number of operations used for the month.""" operations: SafeInt! } type User { displayName: String! email: String! id: ID! provider: AuthProviderType! } interface SchemaCheck { """Conditional breaking change metadata.""" conditionalBreakingChangeMetadata: SchemaCheckConditionalBreakingChangeMetadata """Results of the contracts""" contractChecks: ContractCheckConnection createdAt: String! id: ID! """Meta information about the schema check.""" meta: SchemaCheckMeta """The previous schema SDL. For composite schemas this is the service.""" previousSchemaSDL: String schemaChanges: SchemaChangeConnection """The SDL of the schema that was checked.""" schemaSDL: String! """ The schema version against this check was performed. Is null if there is no schema version published yet. """ schemaVersion: SchemaVersion """ The name of the service that owns the schema. Is null for non composite project types. """ serviceName: String """The URL of the schema check on the Hive Web App.""" webUrl: String } interface GraphQLNamedType { """The description of the GraphQL type.""" description: String """The name of the GraphQL type.""" name: String! """ Metadata specific to Apollo Federation Projects. Is null if no meta information is available (e.g. this is not an apollo federation project). """ supergraphMetadata: SupergraphMetadata """The usage of the type within the specified period.""" usage: SchemaCoordinateUsage! } interface UpdateSchemaCompositionError { message: String! } union RegistryLog = DeletedSchemaLog | PromotionSchemaLog | PushedSchemaLog union Schema = CompositeSchema | SingleSchema enum AuthProviderType { GITHUB GOOGLE """OpenID Connect""" OIDC """Username-Password-Authentication""" USERNAME_PASSWORD } enum BreakingChangeFormulaType { PERCENTAGE REQUEST_COUNT } enum ProjectType { FEDERATION SINGLE STITCHING } enum GraphQLOperationType { MUTATION QUERY SUBSCRIPTION } enum PermissionLevelType { APP_DEPLOYMENT ORGANIZATION PROJECT SERVICE TARGET } enum ResourceAssignmentModeType { """Apply to all subresouces of the resource.""" ALL """Apply to specific subresouces of the resource.""" GRANULAR } """Describes the impact of a schema change.""" enum SeverityLevelType { """The change will definetly break GraphQL client users.""" BREAKING """ The change might break existing clients that do not follow best-practises such as future-proof enums or future-proof interface/union type usages. """ DANGEROUS """The change is safe and does not break existing clients.""" SAFE } """Reference input for identifying an access token.""" input AccessTokenReference { """Select an access token by its unique ID.""" byId: ID } """ Filter options for querying active app deployments. The date filters (lastUsedBefore, neverUsedAndCreatedBefore) use OR semantics: a deployment is included if it matches either date condition. If no date filters are provided, all active deployments are returned. """ input ActiveAppDeploymentsFilter { """ Returns deployments that were last used before the given timestamp. Useful for identifying stale or inactive deployments that have been used at least once but not recently. """ lastUsedBefore: DateTime """ Filter by app deployment name. Case-insensitive partial match. Applied with AND semantics to narrow down results. """ name: String """ Returns deployments that have never been used and were created before the given timestamp. Useful for identifying old, unused deployments that may be candidates for cleanup. """ neverUsedAndCreatedBefore: DateTime } input AppDeploymentResourceAssignmentInput { appDeployment: String! } input AssignMemberRoleInput { member: MemberReferenceInput! memberRole: MemberRoleReferenceInput! organization: OrganizationReferenceInput! resources: ResourceAssignmentInput! } """Filter by specific client name + version combinations.""" input ClientVersionFilterInput { """The client name to filter by.""" clientName: String! """ Specific versions of this client to include. When null, all versions of this client are included. """ versions: [String!] } """Fields not provided (omitted) will retain the previous value.""" input ConditionalBreakingChangeConfigurationInput { """ Whether a percentage or absolute value should be used for the conditional breaking changes treshold. """ breakingChangeFormula: BreakingChangeFormulaType """ List of app deployment names that are excluded from the breaking change detection. """ excludedAppDeployments: [String!] """ List of client names that are excluded from the breaking change detection. """ excludedClients: [String!] """ Update whethe the conditional breaking change detection is enabled or disabled. """ isEnabled: Boolean """ The percentage value if `UpdateTargetValidationSettingsInput.breakingChangeFormula` is set to `BreakingChangeFormulaType.PERCENTAGE`. """ percentage: Float """ The period in days. Operations of the last x days will be used for the conditional breaking change detection. The maximum value depends on the organizations data retention limits. """ period: Int """ The request count value if `UpdateTargetValidationSettingsInput.breakingChangeFormula` is set to `BreakingChangeFormulaType.REQUEST_COUNT`. """ requestCount: Int """ List of target ids within the same project, whose operations are used for the breaking change detection. """ targetIds: [ID!] } input ContractReferenceInput { byId: ID } input CreateCdnAccessTokenInput { """Alias describing the purpose of the access token.""" alias: String! """The target for which the access token should be created for.""" target: TargetReferenceInput! } input CreateContractInput { contractName: String! excludeTags: [String!] includeTags: [String!] removeUnreachableTypesFromPublicApiSchema: Boolean! target: TargetReferenceInput! } input CreateMemberRoleInput { """A description describing the purpose of the member role.""" description: String! """The name of the member role (must be unique).""" name: String! """The organization in which the member role should be created.""" organization: OrganizationReferenceInput! """ A list of available permissions can be retrieved via the 'Organization.availableMemberPermissionGroups' field. """ selectedPermissions: [String!]! } """Input for creating a new organization-scoped access token.""" input CreateOrganizationAccessTokenInput { """ Optional description providing additional context about the purpose of the access token. """ description: String """The organization in which the access token should be created.""" organization: OrganizationReferenceInput! """ List of permissions assigned to the access token. Available permissions can be retrieved via the 'Organization.availableOrganizationAccessTokenPermissionGroups' field. """ permissions: [String!]! """ Resources on which the permissions should be granted (e.g., project, target, service, or app deployments). Permissions are inherited by sub-resources. """ resources: ResourceAssignmentInput! """Human-readable title for the access token.""" title: String! } input CreateProjectInput { organization: OrganizationReferenceInput! slug: String! type: ProjectType! } input CreateTargetInput { """Reference to the project in which the target should be created in.""" project: ProjectReferenceInput! """Slug of the target, must be unique per project.""" slug: String! } """Describes a date range interval.""" input DateRangeInput { from: DateTime! to: DateTime! } """Input for deleting an access token.""" input DeleteAccessTokenInput { """Reference to the access token that should be deleted.""" accessToken: AccessTokenReference! } input DeleteCdnAccessTokenInput { cdnAccessTokenId: ID! target: TargetReferenceInput! } input DeleteMemberRoleInput { memberRole: MemberRoleReferenceInput! } """Input for deleting an existing organization access token.""" input DeleteOrganizationAccessTokenInput { """Reference to the organization access token that should be deleted.""" organizationAccessToken: OrganizationAccessTokenReference! } input DeleteOrganizationInvitationInput { email: String! organization: OrganizationReferenceInput! } input DeleteProjectInput { project: ProjectReferenceInput! } input DeleteTargetInput { """Reference to the target that should be deleted.""" target: TargetReferenceInput! } input DisableContractInput { contract: ContractReferenceInput! } input InviteToOrganizationByEmailInput { email: String! memberRoleId: ID organization: OrganizationReferenceInput! resources: ResourceAssignmentInput } input MemberReferenceInput { byId: ID } input MemberRoleReferenceInput { byId: ID } input OperationStatsFilterInput { """ Filter by specific client name + version combinations. More precise than clientNames - allows filtering to specific versions. """ clientVersionFilters: [ClientVersionFilterInput!] """ When true, the clientVersionFilters filter is negated — matching clients are excluded instead of included. """ excludeClientVersionFilters: Boolean """ When true, the operationIds filter is negated — matching operations are excluded instead of included. """ excludeOperations: Boolean """Filter by only showing operations with a specific id.""" operationIds: [ID!] } """Reference input for identifying an organization access token.""" input OrganizationAccessTokenReference { """Identify the access token by its unique ID.""" byId: ID } """Reference input for identifying an organization.""" input OrganizationReferenceInput { """Select an organization using its unique ID.""" byId: ID """Select an organization using a selector (e.g., slug-based selection).""" bySelector: OrganizationSelectorInput } input OrganizationSelectorInput { organizationSlug: String! } input OrganizationUsageEstimationInput { """The calendar month, 1 to 12, where 1 is January and 12 is December.""" month: Int! """The 4 digit year. E.g. 2025""" year: Int! } input ProjectReferenceInput { byId: ID bySelector: ProjectSelectorInput } input ProjectResourceAssignmentInput { projectId: ID! targets: ProjectTargetsResourceAssignmentInput! } input ProjectSelectorInput { organizationSlug: String! projectSlug: String! } input ProjectTargetsResourceAssignmentInput { """ Whether the permissions should apply for all targets within the project or only selected ones. """ mode: ResourceAssignmentModeType! """ Specific targets within the projects for which the permissions should be applied. """ targets: [TargetResourceAssignmentInput!] } input ResourceAssignmentInput { """ Whether the permissions should apply for all projects within the organization or only selected ones. """ mode: ResourceAssignmentModeType! """ Specific projects within the organization for which the permissions should be applied. """ projects: [ProjectResourceAssignmentInput!] } input RetireAppDeploymentInput { """The identifying application name""" appName: String! """The exact version of the application to retire""" appVersion: String! """ Force retirement even if protection rules would prevent it. Disabled by default. """ force: Boolean! = false """ If using an organization access token, then a target must be provided. If using a target's access token, then this should be null. """ target: TargetReferenceInput } input SchemaCompositionExternalMethodInput { endpoint: String! secret: String! } input SchemaCompositionMethodInput { """Use an external schema composition endpoint.""" external: SchemaCompositionExternalMethodInput """Use the legacy federation v1 schema composition.""" legacy: Boolean """ Use the native federation schema composition. This is the default method for new projects. """ native: Boolean } input SchemaExplorerPeriodInput { """A full range using a start and end date.""" absoluteRange: DateRangeInput } input ServiceResourceAssignmentInput { serviceName: String! } input TargetAppDeploymentsResourceAssignmentInput { """ Specific app deployments within the target for which the permissions should be applied. """ appDeployments: [AppDeploymentResourceAssignmentInput!] """ Whether the permissions should apply for all app deployments within the target. """ mode: ResourceAssignmentModeType! } """Reference to a target.""" input TargetReferenceInput { """Reference to a target using it's ID (see "Target.id" field).""" byId: ID """ Reference to a target using it's slug parts (see "Organization.slug", "Project.slug", "Target.slug"). """ bySelector: TargetSelectorInput } input TargetResourceAssignmentInput { appDeployments: TargetAppDeploymentsResourceAssignmentInput! services: TargetServicesResourceAssignmentInput! targetId: ID! } input TargetSelectorInput { organizationSlug: String! projectSlug: String! targetSlug: String! } input TargetServicesResourceAssignmentInput { """ Whether the permissions should apply for all services within the target or only selected ones. """ mode: ResourceAssignmentModeType! """ Specific services within the target for which the permissions should be applied. """ services: [ServiceResourceAssignmentInput!] } input UpdateMemberRoleInput { description: String! """The member role that should be udpated.""" memberRole: MemberRoleReferenceInput! name: String! selectedPermissions: [String!]! } input UpdateProjectSlugInput { project: ProjectReferenceInput! slug: String! } input UpdateSchemaCompositionInput { """The composition method that should be set for the project.""" method: SchemaCompositionMethodInput! """ Reference to the project on which the schema composition should be applied. """ project: ProjectReferenceInput! } input UpdateTargetConditionalBreakingChangeConfigurationInput { """Updates to the conditional breaking change configuration.""" conditionalBreakingChangeConfiguration: ConditionalBreakingChangeConfigurationInput! """The target on which the settings are adjusted.""" target: TargetReferenceInput! } input UpdateTargetDangerousChangeClassificationInput { failDiffOnDangerousChange: Boolean! target: TargetReferenceInput! } input UpdateTargetGraphQLEndpointUrlInput { graphqlEndpointUrl: String target: TargetReferenceInput! }