Skip to main content

GraphQL API reference

This page is auto-generated from the Moderne GraphQL schema. Do not edit manually.

Queries

auditLogs

auditLogs(first: Int = 100, after: String, where: AuditLogWhereInput, orderBy: [AuditLogOrderByInput!]): AuditLogConnection!

Returns: AuditLogConnection!

Query audit log events with pagination and filtering.

auditLogsDownloads

auditLogsDownloads(first: Int = 50, after: String, where: AuditLogsDownloadWhereInput, orderBy: [AuditLogsDownloadOrderByInput!]): AuditLogsDownloadConnection!

Returns: AuditLogsDownloadConnection!

Query audit log downloads with pagination and filtering. Use where: { id: { _eq: "..." } } to poll a specific download.

bulkPullRequestAction

bulkPullRequestAction(id: ID!): BulkPullRequestAction

Returns: BulkPullRequestAction

Get a bulk pull request action by ID to poll for progress.

capabilities

capabilities: PlatformCapabilities!

Returns: PlatformCapabilities!

Returns which optional platform features are enabled in this deployment. Each field defaults to false and is overridden to true by the corresponding optional service when it is present in the supergraph composition.

codeSearch

codeSearch(repositoryId: String!, query: String!, first: Int = 100, after: String): CodeSearchResultConnection!

Returns: CodeSearchResultConnection!

Search source code across artifact repositories. Searches the given repository and all its descendants in the hierarchy. Results are grouped by artifact (groupId:artifactId) with file-level matches.

connectors

connectors(first: Int = 100, after: String, where: ConnectorWhereInput, orderBy: [ConnectorOrderByInput!]): ConnectorConnection!

Returns: ConnectorConnection!

conversation

conversation(conversationId: ID!): Conversation

Returns: Conversation

Look up a single conversation by id. Returns null when no conversation matches or the caller does not have access. Restores the v1 query the moderne-ui client already references.

currentUser

currentUser: User!

Returns: User!

Returns the currently authenticated user.

devCenterRecipes

devCenterRecipes: [RecipeDescriptor!]!

Returns: [RecipeDescriptor!]!

Get available DevCenter recipes for configuration.

license

license: License!

Returns: License!

Request a new license lease key

organization

organization(id: ID!): Organization!

Returns: Organization!

organizations

organizations(first: Int = 100, after: String, where: OrganizationWhereInput, orderBy: [OrganizationOrderByInput!]): OrganizationConnection!

Returns: OrganizationConnection!

scmConnections

scmConnections: [ScmConnection!]!

Returns: [ScmConnection!]!

Returns connections for all SCM providers.

users

users(first: Int = 100, after: String, where: UserWhereInput, orderBy: [UserOrderByInput!]): UserConnection!

Returns: UserConnection!

Returns users with option to filter by role.

verifyToken

verifyToken(origin: String!, scmType: ScmType!): String

Returns: String

Mutations

approvePullRequests

approvePullRequests(organizationId: ID!, selection: PullRequestSelectionInput!): BulkPullRequestActionQueued!

Returns: BulkPullRequestActionQueued!

Approve pull requests in bulk. Returns the queued action for polling.

cancelBulkPullRequestAction

cancelBulkPullRequestAction(id: ID!): BulkPullRequestActionCanceled!

Returns: BulkPullRequestActionCanceled!

Cancel a pending bulk pull request action.

cancelCommit

cancelCommit(id: ID!): OrganizationCommitCanceled!

Returns: OrganizationCommitCanceled!

Cancel a running commit operation.

cancelDevCenterRun

cancelDevCenterRun(id: ID!): ID!

Returns: ID!

Cancel a DevCenter run. Cancellation is best-effort and asynchronous.

cancelMessage

cancelMessage(conversationId: ID!, messageId: ID): Boolean!

Returns: Boolean!

Interrupt the currently-running turn for a conversation. The virtual thread driving the turn is interrupted — a blocking LLM stream unwinds immediately, and long-running downstream work (recipe runs) receives a best-effort cancel via cancelRecipeRun on recipe-worker. Cheap tool calls finish naturally. A terminal CANCELLED ErrorMessage is appended to the log regardless.

LLM-memory consistency on the next turn is preserved by the JSONL collapse: buildChatMessages pairs every tool-origin row into an AiMessage(toolRequests) + ToolExecutionResultMessage batch, and only rows that actually persisted are rebuilt — partially-executed tool batches are reconstructed from whichever tool-origin rows made it to the log.

Returns true when a running turn was actually interrupted, false when the conversation was already idle (no-op, not an error). messageId is accepted for client compatibility but only the conversation's active turn is cancellable — there is never more than one turn in flight.

cancelRecipeRun

cancelRecipeRun(id: ID!): ID!

Returns: ID!

Cancel a recipe run. Cancellation is best-effort and asynchronous.

clearOrganizationPrompt

clearOrganizationPrompt(organizationId: ID!): Boolean!

Returns: Boolean!

Clear the organization-level prompt override, falling back to universal.

clearUserPrompt

clearUserPrompt: Boolean!

Returns: Boolean!

Clear the current user's prompt override, falling back to organization or universal.

closePullRequests

closePullRequests(organizationId: ID!, selection: PullRequestSelectionInput!): BulkPullRequestActionQueued!

Returns: BulkPullRequestActionQueued!

Close pull requests in bulk. Returns the queued action for polling.

commit

commit(input: CommitInput!): OrganizationCommitQueued!

Returns: OrganizationCommitQueued!

Create commits from a changeset (recipe run, batch change, etc.).

createAccessToken

createAccessToken(description: String, expiresAt: DateTime): CreateAccessTokenResult!

Returns: CreateAccessTokenResult!

Creates a new Moderne Personal Access Token for the current user. Returns the token value only once - it cannot be retrieved again.

createConversation

createConversation(input: CreateConversationInput!, waitForCompletion: Boolean = false): SendMessageResult!

Returns: SendMessageResult!

Create a new conversation and send the first message. Uses the effective prompt for the organization context. waitForCompletion has the same semantics as on sendMessage.

createUserOrganization

createUserOrganization(input: CreateUserOrganizationInput!): Organization!

Returns: Organization!

Create a new user-defined organization visible only to the current user.

deleteUser

deleteUser(email: String!): Boolean!

Returns: Boolean!

Deletes a user and all associated access tokens. Returns true if the user was found and deleted.

deleteUserOrganization

deleteUserOrganization(id: ID!): Boolean!

Returns: Boolean!

Delete a user-defined organization.

downloadAuditLogs

downloadAuditLogs(first: Int, since: DateTime, until: DateTime, format: AuditLogExportFormat!): AuditLogsDownload!

Returns: AuditLogsDownload!

Start an asynchronous export of audit logs. Returns a task whose state can be polled via auditLogsDownloads.

downloadDataTable

downloadDataTable(changesetId: ID!, dataTable: String!, group: String, format: DataTableFormat!): DataTable!

Returns: DataTable!

Start or retrieve a data table download. If the same data table + group + format combination was already requested, returns the existing download state.

exchangeAuthorizationCode

exchangeAuthorizationCode(input: ExchangeAuthorizationCodeInput!): ExchangeAuthorizationResult!

Returns: ExchangeAuthorizationResult!

Exchange an OAuth authorization code for an access token.

This unified mutation handles all OAuth 2.0 VCS providers. The backend uses the authorizationId to look up:

  • The origin and VCS type
  • PKCE code_verifier (GitLab)

On success, the token is stored and future requests will be authenticated.

initiateAuthorization

initiateAuthorization(input: InitiateAuthorizationInput!): OAuthAuthorization!

Returns: OAuthAuthorization!

Initiate OAuth authorization for a VCS origin. Returns an authorization URL to redirect the user to.

The backend constructs the full OAuth URL including:

  • PKCE code_challenge for GitLab
  • Correct scopes for each VCS type
  • State parameter for CSRF protection

The authorization ID should be passed to exchangeAuthorizationCode after the user completes OAuth.

installRecipesForCurrentUser

installRecipesForCurrentUser(bundle: RecipeBundleInput!): RecipeInstallation!

Returns: RecipeInstallation!

Install a recipe bundle to the current user's personal marketplace.

installRecipesForOrganization

installRecipesForOrganization(organizationId: ID!, bundle: RecipeBundleInput!): RecipeInstallation!

Returns: RecipeInstallation!

Install a recipe bundle to a specific organization's marketplace. Requires the admin role.

installRecipesUniversal

installRecipesUniversal(bundle: RecipeBundleInput!): RecipeInstallation!

Returns: RecipeInstallation!

Install a recipe bundle to the universal marketplace (visible to all). Requires the admin role.

mergePullRequests

mergePullRequests(organizationId: ID!, selection: PullRequestSelectionInput!, mergeMethod: MergeMethod!, deleteSourceBranch: Boolean! = false): BulkPullRequestActionQueued!

Returns: BulkPullRequestActionQueued!

Merge pull requests in bulk. Returns the queued action for polling.

reindexChangelog

reindexChangelog(since: DateTime!, origin: String): ReindexResult!

Returns: ReindexResult!

Reset poll cursors so the next poll cycle re-fetches and re-enriches changelog entries from the given timestamp forward. Use this to backfill data after deploying enrichment improvements.

revokeAccessToken

revokeAccessToken(id: ID!): Boolean!

Returns: Boolean!

Revokes an access token by ID. Returns true if the token was revoked, false if not found.

revokeAllAccessTokens

revokeAllAccessTokens(email: String!): Boolean!

Returns: Boolean!

Revokes all access tokens for a given user. Returns true if all token were revoked, otherwise false.

revokeScmToken

revokeScmToken(input: RevokeScmTokenInput!): RevokeTokenResult!

Returns: RevokeTokenResult!

Revoke an SCM OAuth token for the current user and a specific origin. This removes the stored token, disconnecting the user from the VCS.

runDevCenter

runDevCenter(input: RunDevCenterInput!): DevCenterRunRunning!

Returns: DevCenterRunRunning!

Start a DevCenter run for an organization. Returns immediately with running status.

runRecipe

runRecipe(input: RunRecipeInput!): OrganizationRecipeRunQueued!

Returns: OrganizationRecipeRunQueued!

Run a recipe against repositories. Returns the recipe run in its initial queued state.

runVisualization

runVisualization(organizationId: ID!, visualizationId: ID!, options: [VisualizationOptionInput!]): Visualization!

Returns: Visualization!

Request a visualization to be generated based on the provided descriptor. Returns the existing visualization if already run with the same options, otherwise queues a new visualization run.

sendMessage

sendMessage(conversationId: ID!, message: String!, waitForCompletion: Boolean = false): SendMessageResult!

Returns: SendMessageResult!

Send a message to an existing conversation. Returns a handle for polling — initialCursor is the cursor to pass to the next messages(after:) query, and turnState carries the server- recommended poll cadence.

When waitForCompletion: true, the mutation blocks until the turn completes (or the server cap of 4 minutes is reached, whichever comes first). On cap, the mutation returns the current turn state rather than erroring so the caller can continue polling.

setOrganizationPrompt

setOrganizationPrompt(organizationId: ID!, content: Markdown!): Prompt!

Returns: Prompt!

Set the system prompt for a specific organization (overrides universal).

setProfiling

setProfiling(enabled: Boolean!, event: ProfilingEvent = CPU): Boolean!

Returns: Boolean!

Turn continuous profiling on or off for this tenant. When enabled, Pyroscope profiles for every service start landing in the Pyroscope UI within seconds. The primary event the agent samples on is selected by event (defaults to CPU); calling the mutation again with a different event while profiling is already on rotates the agent to the new event. Fails when the profiling capability is not enabled for the tenant. Admin role required.

setUniversalPrompt

setUniversalPrompt(content: Markdown!): Prompt!

Returns: Prompt!

Set the universal (default) system prompt.

setUserPrompt

setUserPrompt(content: Markdown!): Prompt!

Returns: Prompt!

Set the system prompt for the current user (overrides organization and universal).

uninstallRecipesFromCurrentUser

uninstallRecipesFromCurrentUser(packageName: String!): RecipeUninstallation!

Returns: RecipeUninstallation!

Uninstall a recipe bundle from the current user's personal marketplace. Returns the number of recipes that were removed.

uninstallRecipesFromOrganization

uninstallRecipesFromOrganization(organizationId: ID!, packageName: String!): RecipeUninstallation!

Returns: RecipeUninstallation!

Uninstall a recipe bundle from a specific organization's marketplace. Returns the number of recipes that were removed. Requires the admin role.

uninstallRecipesUniversal

uninstallRecipesUniversal(packageName: String!): RecipeUninstallation!

Returns: RecipeUninstallation!

Uninstall a recipe bundle from the universal marketplace. Returns the number of recipes that were removed. Requires the admin role.

updateUserOrganization

updateUserOrganization(input: UpdateUserOrganizationInput!): Organization!

Returns: Organization!

Update an existing user-defined organization.

Types

Object types

AccessToken

Moderne Personal Access Tokens

FieldTypeDescription
idID!The unique identifier for the access token. This is not the same as the token itself.
descriptionStringOptional description of the token. Useful for distinguishing between multiple tokens.
createdDateTime!The date and time the token was created.
expiresAtDateTimeThe date and time the token will expire.
AccessTokenConnection
FieldTypeDescription
edges[AccessTokenEdge!]!
pageInfoPageInfo!
countInt!
AccessTokenEdge
FieldTypeDescription
nodeAccessToken!
cursorString!
ArtifactoryConfiguration
FieldTypeDescription
resourceIdString!
skipSslBoolean!
skipValidateConnectivityBoolean!
connectivityHttpToolConnectivity!
lstQuery[String!]
lastIngestedAtDateTime
AuditLog
FieldTypeDescription
idID!
userUser!The user who performed the action.
targetString!The resource type that was acted upon (e.g., "access.tokens", "organizations").
actionString!The specific action that was performed (e.g., "create.token", "delete.organization").
actionTypeAuditActionType!The CRUD classification of the action.
outcomeAuditOutcome!Whether the action succeeded or failed.
descriptionStringHuman-readable description of what happened.
timestampDateTime!When the action occurred.
AuditLogConnection
FieldTypeDescription
edges[AuditLogEdge!]!
pageInfoPageInfo!
countInt!
AuditLogEdge
FieldTypeDescription
nodeAuditLog!
cursorString!
AuditLogsDownloadConnection
FieldTypeDescription
edges[AuditLogsDownloadEdge!]!
pageInfoPageInfo!
countInt!
AuditLogsDownloadEdge
FieldTypeDescription
nodeAuditLogsDownload!
cursorString!
AuditLogsDownloadError

Implements: AuditLogsDownload

An audit log download failed.

FieldTypeDescription
idID!
startedAtDateTime!
finishedAtDateTime!
messageString!
AuditLogsDownloadFinished

Implements: AuditLogsDownload

An audit log download has completed successfully.

FieldTypeDescription
idID!
formatAuditLogExportFormat!
startedAtDateTime!
finishedAtDateTime!
downloadUrlString!URL path to download the file (relative to the service base URL).
AuditLogsDownloadProcessing

Implements: AuditLogsDownload

An audit log download is being processed.

FieldTypeDescription
idID!
formatAuditLogExportFormat!
startedAtDateTime!
AzureDevOpsConfiguration
FieldTypeDescription
resourceIdString!
skipSslBoolean!
skipValidateConnectivityBoolean!
connectivityHttpToolConnectivity!
oauthAzureDevOpsOauth
AzureDevOpsConnection

Implements: ScmConnection

FieldTypeDescription
resourceIdString!
isAuthorizedBoolean!
tokens[ScmTokenInfo!]!
AzureDevOpsOauth
FieldTypeDescription
clientIdString!
tenantIdString!
BatchChange

Implements: OrganizationChangeset

FieldTypeDescription
idID!
userUser!
createdAtDateTime!
parentOrganizationChangeset
repositories(first: Int = 100, after: String, where: RepositoryChangesetWhereInput, orderBy: [RepositoryChangesetOrderByInput!]): RepositoryChangesetConnection!
nameString
descriptionString
sourceToolToolInfo
diffToolToolInfo
dataTables(first: Int = 50, after: String, where: DataTableWhereInput, orderBy: [DataTableOrderByInput!]): DataTableConnection!Data tables produced by this batch change. Each data table starts as Available and transitions to Processing/Finished/Error when downloadDataTable mutation is called.
visualizations(first: Int = 50, after: String, where: VisualizationWhereInput, orderBy: [VisualizationOrderByInput!]): VisualizationConnection!Visualizations produced by this batch change.
bulkPullRequestActions(first: Int = 50, after: String, where: BulkPullRequestActionWhereInput, orderBy: [BulkPullRequestActionOrderByInput!]): BulkPullRequestActionConnection!Bulk pull request actions (approve, merge, close) initiated against pull requests that belong to this changeset. Default sort: STARTED_AT DESC with QUEUED entries (no startedAt) appearing last so polling clients still see in-flight actions.
commits(first: Int = 50, after: String, where: OrganizationCommitWhereInput, orderBy: [OrganizationCommitOrderByInput!]): OrganizationCommitConnectionCommit operations initiated from this changeset.
BatchChangeFileChange

Implements: FileChange

FieldTypeDescription
pathPath!
beforeSourcePathPath
afterSourcePathPath
diff(markupLevel: MarkupLevel = ERROR, showWhitespaceOnlyChanges: Boolean = true): Patch
BitbucketCloudConfiguration
FieldTypeDescription
resourceIdString!
skipSslBoolean!
skipValidateConnectivityBoolean!
connectivityHttpToolConnectivity!
oauthBitbucketCloudOauth
BitbucketCloudConnection

Implements: ScmConnection

FieldTypeDescription
resourceIdString!
isAuthorizedBoolean!
tokens[ScmTokenInfo!]!
BitbucketCloudOauth
FieldTypeDescription
clientIdString!
BitbucketConfiguration
FieldTypeDescription
resourceIdString!
skipSslBoolean!
skipValidateConnectivityBoolean!
connectivityHttpToolConnectivity!
oauthBitbucketOauth
BitbucketConnection

Implements: ScmConnection

FieldTypeDescription
resourceIdString!
isAuthorizedBoolean!
tokens[ScmTokenInfo!]!
BitbucketOauth
FieldTypeDescription
clientIdString!
BranchCommitOptions

Implements: CommitOptions

FieldTypeDescription
branchNameString
BulkPullRequestActionCanceled

Implements: BulkPullRequestAction

FieldTypeDescription
idID!
actionTypePullRequestActionType!
userUser!
canceledByUser!
results(first: Int = 50, after: String, where: PullRequestActionWhereInput, orderBy: [PullRequestActionOrderByInput!]): PullRequestActionConnection!
BulkPullRequestActionConnection
FieldTypeDescription
edges[BulkPullRequestActionEdge!]!
pageInfoPageInfo!
countInt!
BulkPullRequestActionEdge
FieldTypeDescription
nodeBulkPullRequestAction!
cursorString!
BulkPullRequestActionError

Implements: BulkPullRequestAction

FieldTypeDescription
idID!
actionTypePullRequestActionType!
userUser!
errorMessageString!
results(first: Int = 50, after: String, where: PullRequestActionWhereInput, orderBy: [PullRequestActionOrderByInput!]): PullRequestActionConnection!
BulkPullRequestActionFinished

Implements: BulkPullRequestAction

FieldTypeDescription
idID!
actionTypePullRequestActionType!
userUser!
startedAtDateTime!
finishedAtDateTime!
results(first: Int = 50, after: String, where: PullRequestActionWhereInput, orderBy: [PullRequestActionOrderByInput!]): PullRequestActionConnection!
BulkPullRequestActionQueued

Implements: BulkPullRequestAction

FieldTypeDescription
idID!
actionTypePullRequestActionType!
userUser!
queuedAtDateTime!
results(first: Int = 50, after: String, where: PullRequestActionWhereInput, orderBy: [PullRequestActionOrderByInput!]): PullRequestActionConnection!
BulkPullRequestActionRunning

Implements: BulkPullRequestAction

FieldTypeDescription
idID!
actionTypePullRequestActionType!
userUser!
startedAtDateTime!
results(first: Int = 50, after: String, where: PullRequestActionWhereInput, orderBy: [PullRequestActionOrderByInput!]): PullRequestActionConnection!
ChangelogCommit

Implements: ChangelogEntry

A direct commit to a branch.

FieldTypeDescription
idID!
titleString!
authorChangeParticipant!
repositoryRepository!
urlString!
branchString!
shaString!The commit SHA.
updatedAtDateTime!
createdAtDateTime!
changesetOrganizationChangeset
buildStateBuildState
diffstatDiffStat!
ChangelogEntryConnection
FieldTypeDescription
edges[ChangelogEntryEdge!]!
pageInfoPageInfo!
countInt!
ChangelogEntryEdge
FieldTypeDescription
nodeChangelogEntry!
cursorString!
ChangelogParticipantConnection
FieldTypeDescription
edges[ChangelogParticipantEdge!]!
pageInfoPageInfo!
countInt!
ChangelogParticipantEdge
FieldTypeDescription
nodeChangeParticipant!
cursorString!
ChangelogPullRequest

Implements: ChangelogEntry

A pull request (open, draft, merged, or closed).

FieldTypeDescription
idID!
titleString!
authorChangeParticipant!
repositoryRepository!
urlString!
branchString!
numberInt!The PR number.
sourceBranchString!The source branch of the pull request.
statePullRequestState!Current state of the pull request.
draftBoolean!Whether this is a draft pull request.
updatedAtDateTime!
createdAtDateTime!
buildStateBuildState
reviewDecisionReviewDecisionReview decision for the pull request.
approvedBy[ChangeParticipant!]Reviewers who approved this pull request.
requestedReviewers[ChangeParticipant!]Reviewers assigned/requested on this pull request.
additionsIntLines added.
deletionsIntLines removed.
changesetOrganizationChangeset
diffstatDiffStat!
actions(first: Int = 50, after: String, where: PullRequestActionWhereInput, orderBy: [PullRequestActionOrderByInput!]): PullRequestActionConnection!Actions (approve, merge, close) that have been applied to this pull request. Default sort order is descending by startedAt.
ChangeParticipant

A participant identity from the VCS provider. Not necessarily a Moderne user.

FieldTypeDescription
nameStringDisplay name.
emailStringEmail address.
usernameStringUsername/login on the VCS provider.
avatarUrlStringAvatar URL from the VCS provider.
roles[ContributorRole!]!The roles this participant has across changelog entries.
FieldTypeDescription
labelString!
uriString!
CodeSearchResult
FieldTypeDescription
groupIdString!
artifactIdString!
fileChanges(first: Int = 100, after: String): FileChangeConnection!
CodeSearchResultConnection
FieldTypeDescription
edges[CodeSearchResultEdge!]!
pageInfoPageInfo!
countInt!
searchDurationMsLong!
CodeSearchResultEdge
FieldTypeDescription
nodeCodeSearchResult!
cursorString!
Column
FieldTypeDescription
nameString!
displayNameString!
descriptionString!
typeString!
Connector
FieldTypeDescription
idID!
nicknameString
versionString!
tools[ConnectorTool!]!
uiConfigurationUiConfiguration
personalAccessTokenConfigurationPersonalAccessTokenConfiguration
ConnectorConnection
FieldTypeDescription
edges[ConnectorEdge!]!
pageInfoPageInfo!
countInt!
ConnectorEdge
FieldTypeDescription
nodeConnector!
cursorString!
Conversation
FieldTypeDescription
idID!
organizationOrganization!
userUser!
messages(first: Int = 100, after: String): MessageConnection!
turnStateConversationTurnState!Current turn state for this conversation. Carries the server- recommended poll cadence — clients should respect this rather than hardcoding an interval.
startedAtDateTime!
lastUpdatedAtDateTime!
ConversationConnection
FieldTypeDescription
edges[ConversationEdge!]!
pageInfoPageInfo!
ConversationEdge
FieldTypeDescription
nodeConversation!
cursorString!
ConversationTurnState

Represents the current phase of the conversation's active turn (if any). Drives client poll cadence.

FieldTypeDescription
phaseConversationPhase!
recommendedPollIntervalMsInt!Server-recommended poll interval in milliseconds.
activeTurnStartedAtDateTimeWhen the currently-active turn started, if any.
CreateAccessTokenResult

Result of creating a new access token. The token value is only available in this response.

FieldTypeDescription
idID!The unique identifier for the token. Use this ID for revocation.
tokenString!The actual token value. Store this securely - it cannot be retrieved again.
descriptionStringThe description provided when creating the token.
createdDateTime!When the token was created.
expiresAtDateTimeWhen the token will expire, or null if it never expires.
DataTableAvailable

Implements: DataTable

A data table is available for download but no download has been initiated yet.

FieldTypeDescription
idID!
dataTableDataTableDescriptor!
instanceNameString!
groupString
changesetIdID!
DataTableConnection
FieldTypeDescription
edges[DataTableEdge!]!
pageInfoPageInfo!
countInt!
DataTableDescriptor
FieldTypeDescription
nameString!
displayNameString!
descriptionString!
columns[Column!]!
DataTableEdge
FieldTypeDescription
nodeDataTable!
cursorString!
DataTableError

Implements: DataTable

A data table download failed.

FieldTypeDescription
idID!
dataTableDataTableDescriptor!
instanceNameString!
groupString
changesetIdID!
startedAtDateTime!
finishedAtDateTime!
messageString!
DataTableFinished

Implements: DataTable

A data table download has completed successfully.

FieldTypeDescription
idID!
dataTableDataTableDescriptor!
instanceNameString!
groupString
formatDataTableFormat!
changesetIdID!
startedAtDateTime!
finishedAtDateTime!
durationDuration
downloadUrlString!URL path to download the file (relative to the service base URL).
DataTableProcessing

Implements: DataTable

A data table download is being processed.

FieldTypeDescription
idID!
dataTableDataTableDescriptor!
instanceNameString!
groupString
formatDataTableFormat!
changesetIdID!
startedAtDateTime!
DataTablesMessage

Implements: Message

FieldTypeDescription
idID!
userUser!
dataTables[DataTableDescriptor!]!
stateMessageState!
lastUpdatedAtDateTime!
DataTableSqlMessage

Implements: Message

FieldTypeDescription
idID!
userUser!
sqlQueryString!
stateMessageState!
lastUpdatedAtDateTime!
DevCenter
FieldTypeDescription
recipeRecipeDescriptorThe currently configured DevCenter recipe for this organization.
runs(first: Int = 10, after: String, where: DevCenterRunWhereInput, orderBy: [DevCenterRunOrderByInput!]): DevCenterRunConnection!DevCenter runs for this organization, ordered by start time descending.
DevCenterCard

A DevCenter card represents a category of work (e.g., "Spring Boot 3", "Java 21", "Security"). Cards contain measures that track progress toward completion.

FieldTypeDescription
displayNameMarkdown!Display name of the card.
descriptionMarkdownDescription of what this card tracks.
fixRecipeRecipeDescriptorRecipe that can fix/complete the work tracked by this card.
aggregationDevCenterAggregation!How results are aggregated for this card.
measures[DevCenterMeasure!]!Measures within this card, ordered by ordinal.
repositoriesNotApplicableInt!Repositories where this card is not applicable.
DevCenterCardDescriptor
FieldTypeDescription
displayNameMarkdown!
descriptionMarkdown
fixRecipeRecipeDescriptor
aggregationDevCenterAggregation!
measures[DevCenterMeasureDescriptor!]!
DevCenterMeasure

A measure within a DevCenter card representing a specific state or finding, with a count from the run results.

FieldTypeDescription
displayNameMarkdown!Display name of the measure.
descriptionMarkdownDescription of what this measure represents.
ordinalInt!Sort order relative to other measures in the card.
countInt!Count of repositories or occurrences for this measure. For PER_REPOSITORY: number of repositories in this state. For PER_OCCURRENCE: total count of occurrences.
DevCenterMeasureDescriptor

A measure descriptor within a DevCenter card, representing metadata about a specific state or finding. See DevCenterMeasure in changeset:reader for the runtime version with counts.

FieldTypeDescription
displayNameMarkdown!
descriptionMarkdown
ordinalInt!
DevCenterOrganization

Organization-level context from a DevCenter run.

FieldTypeDescription
repositoriesDevCenterRepositories!Repository counts at the time of the run.
contributingDevelopersInt!Number of unique contributing developers (last 90 days).
linesOfCodeLong!Total lines of code across all repositories on platform.
DevCenterRepositories

Repository counts from a DevCenter run.

FieldTypeDescription
totalInt!Total repositories defined in the organization at the time of the run.
repositoriesWithoutLstInt!Repositories with no LST ingested at the time of the run.
DevCenterRunCanceled

Implements: DevCenterRun

DevCenter run was canceled before completion.

FieldTypeDescription
idID!
startedAtDateTime!
changesetOrganizationChangeset
finishedAtDateTime!
DevCenterRunConnection
FieldTypeDescription
edges[DevCenterRunEdge!]!
pageInfoPageInfo!
countInt!
DevCenterRunEdge
FieldTypeDescription
nodeDevCenterRun!
cursorString!
DevCenterRunError

Implements: DevCenterRun

DevCenter run failed with an error.

FieldTypeDescription
idID!
startedAtDateTime!
changesetOrganizationChangeset
finishedAtDateTime!
messageString!Human-readable error message.
DevCenterRunFinished

Implements: DevCenterRun

DevCenter run completed successfully with summarized results.

FieldTypeDescription
idID!
startedAtDateTime!
changesetOrganizationChangeset
finishedAtDateTime!
organizationDevCenterOrganization!
upgradesAndMigrations[DevCenterCard!]!Upgrade and migration opportunities found (from UpgradesAndMigrations data table).
securityDevCenterCardSecurity vulnerabilities found (from SecurityIssues data table).
DevCenterRunRunning

Implements: DevCenterRun

DevCenter recipe is currently running across repositories.

FieldTypeDescription
idID!
startedAtDateTime!
changesetOrganizationChangeset
DiffStat

Aggregate line-level diff statistics.

FieldTypeDescription
additionsInt!Total lines added.
deletionsInt!Total lines removed.
DirectCommitSucceeded

Implements: RepositoryCommitSucceeded, RepositoryCommit

Direct commit to repository completed successfully.

FieldTypeDescription
repositoryRepository!
startedAtDateTime!
finishedAtDateTime!
resultLinkString
ErrorMessage

Implements: Message

FieldTypeDescription
idID!
userUser!
contentMarkdown!
codeStringStable error code that clients may switch on for UI copy. The full taxonomy (split into API-call errors vs in-conversation errors) is maintained in doc/moddy-polling-ui-handoff.md. As of now: Configuration / LLM provider: LLM_UNAVAILABLE, LLM_OVERLOADED, LLM_RATE_LIMITED, LLM_AUTH_FAILED, LLM_CONTEXT_TOO_LONG, LLM_TIMED_OUT, LLM_QUOTA_EXCEEDED, LLM_UNREACHABLE, LLM_EMPTY_RESPONSE, LLM_FAILED Tool execution: TOOL_UNKNOWN, TOOL_FAILED Turn lifecycle: TURN_LIMIT_EXCEEDED, CANCELLED Fallback: INTERNAL API-call errors (returned in GraphQL errors[], not as messages): INVALID_CURSOR, FORBIDDEN, CONVERSATION_BUSY, MESSAGE_TOO_LONG, CONVERSATION_NOT_FOUND, TOO_MANY_REQUESTS.
stateMessageState!
lastUpdatedAtDateTime!
ExchangeAuthorizationResult

Result of exchanging an authorization code.

FieldTypeDescription
successBoolean!True if the exchange was successful and token was stored.
errorStringError message if exchange failed.
FileChangeConnection

Connection for file changes with aggregate statistics.

FieldTypeDescription
edges[FileChangeEdge!]!
pageInfoPageInfo!
countInt!
searchedInt!Total files searched.
changedInt!Files with committable changes.
errorsInt!Files with errors.
FileChangeEdge
FieldTypeDescription
nodeFileChange!
cursorString!
ForkAndPullRequestCommitSucceeded

Implements: RepositoryCommitSucceeded, RepositoryCommit

Fork and pull request commit completed successfully.

FieldTypeDescription
repositoryRepository!
startedAtDateTime!
finishedAtDateTime!
resultLinkString
pullRequestStatusPullRequestStatus!Pull request status.
ForkCommitOptions

Implements: CommitOptions

FieldTypeDescription
branchNameString
organizationStringIf set, the fork will be created in this organization. Otherwise, the fork will be created in the user's personal account.
prefixOrganizationBoolean!
ForkCommitSucceeded

Implements: RepositoryCommitSucceeded, RepositoryCommit

Fork commit completed successfully.

FieldTypeDescription
repositoryRepository!
startedAtDateTime!
finishedAtDateTime!
resultLinkString
ForkPullRequestOptions

Implements: CommitOptions

FieldTypeDescription
branchNameString
organizationStringIf set, the fork will be created in this organization. Otherwise, the fork will be created in the user's personal account.
prefixOrganizationBoolean!
pullRequestTitleStringIf unset, the commit message will be used as the pull request title.
pullRequestBodyBase64
draftBoolean!
maintainerCanModifyBoolean!GitHub only flag to allow maintainers to edit a pull request.
autoMergeMethodMergeMethodIf allowed by the repository, set the pull request to automatically merge after all checks pass using the defined strategy.
canRecreateClosedPullRequestBoolean!Recreate a pull request if it was already closed.
GenericHttpToolConfiguration
FieldTypeDescription
resourceIdString!
skipSslBoolean!
skipValidateConnectivityBoolean!
connectivityHttpToolConnectivity!
GithubConfiguration
FieldTypeDescription
resourceIdString!
skipSslBoolean!
skipValidateConnectivityBoolean!
allowableOrganizations[String!]!
connectivityHttpToolConnectivity!
oauthGithubOauth
GithubConnection

Implements: ScmConnection

FieldTypeDescription
resourceIdString!
isAuthorizedBoolean!
tokens[ScmTokenInfo!]!
GithubOauth
FieldTypeDescription
clientIdString!
includePrivateReposBoolean!
GitLabConfiguration
FieldTypeDescription
resourceIdString!
skipSslBoolean!
skipValidateConnectivityBoolean!
connectivityHttpToolConnectivity!
oauthGitLabOauth
GitLabConnection

Implements: ScmConnection

FieldTypeDescription
resourceIdString!
isAuthorizedBoolean!
tokens[ScmTokenInfo!]!
GitLabOauth
FieldTypeDescription
clientIdString!
GoRecipeBundle

Implements: RecipeBundle

FieldTypeDescription
packageNameString!
requestedVersionString
versionString
recipeCountInt
HttpToolConnectivity
FieldTypeDescription
connectedBoolean!
latencyDuration
License
FieldTypeDescription
keyString
LlmConfiguration
FieldTypeDescription
resourceIdString!
skipSslBoolean!
skipValidateConnectivityBoolean!
connectivityHttpToolConnectivity!
llmProviderLlmProvider!
LstArtifact

The LST artifact for a repository - the precomputed Lossless Semantic Tree that recipe runs consume. Every repository has a conceptual artifact; published reflects the upstream mod publish timestamp, while available indicates whether the saas can route a recipe run to it yet.

FieldTypeDescription
publishedDateTimeWhen mod publish produced an artifact into the customer's LST artifact repository, or null if no artifact has been published. For a tenant configured for encrypted LSTs, a non-null published does NOT mean the encrypted artifact has been received by the tenant - that signal lives on available.
availableBoolean!Whether the artifact is reachable for a recipe run. For an organization source with encryption enabled, true once the connector has uploaded the encrypted artifact and the gateway has surfaced an encrypted:// alternate publish URI. For a source without encryption (pass-through), true when the gateway-projected row has a non-empty publishUri, which we assume is reachable from mod publish.
Markup

Implements: Marker

FieldTypeDescription
idID!
levelMarkupLevel!
messageString
detailString
MavenConfiguration
FieldTypeDescription
resourceIdString!
skipSslBoolean!
skipValidateConnectivityBoolean!
connectivityHttpToolConnectivity!
localRepositoryString
lastIngestedAtDateTime
MavenRecipeBundle

Implements: RecipeBundle

FieldTypeDescription
packageNameString!
groupIdString!
artifactIdString!
requestedVersionString
versionString
recipeCountInt
MergeOptions
FieldTypeDescription
deleteSourceBranchBoolean!
mergeMethodMergeMethod!
MessageConnection
FieldTypeDescription
edges[MessageEdge!]!
pageInfoPageInfo!
MessageEdge
FieldTypeDescription
nodeMessage!
cursorString!
Moddy
FieldTypeDescription
systemPromptPrompt!The effective system prompt for this context. Cascades: user > organization > universal > built-in default.
adminOnlyBoolean!When true, only administrators can create conversations or send messages. Install-level policy flag; the UI uses this together with the viewer's admin status to gate the Moddy menu entry.
conversations(first: Int = 50, after: String, where: ConversationWhereInput, orderBy: [ConversationOrderByInput!]): ConversationConnection!
providerNameStringHuman-readable provider name (e.g. "Anthropic", "OpenAI"). Null when no LLM provider is configured (in which case capabilities.moddy is also false — clients should gate the chat composer on the capability, not on this field).
modelStringConfigured model identifier (e.g. "claude-3-5-sonnet-20241022"). Null when no provider is configured or the provider is configured without a model override.
FieldTypeDescription
labelString!
uriString!
NpmConfiguration
FieldTypeDescription
resourceIdString!
skipSslBoolean!
skipValidateConnectivityBoolean!
connectivityHttpToolConnectivity!
NpmRecipeBundle

Implements: RecipeBundle

FieldTypeDescription
packageNameString!
requestedVersionString
versionString
recipeCountInt
NugetConfiguration
FieldTypeDescription
resourceIdString!
skipSslBoolean!
skipValidateConnectivityBoolean!
connectivityHttpToolConnectivity!
NugetRecipeBundle

Implements: RecipeBundle

FieldTypeDescription
packageNameString!
requestedVersionString
versionString
recipeCountInt
OAuthAuthorization

Represents a pending OAuth authorization. The UI should redirect to authorizationUrl, then call exchangeAuthorizationCode with the id and extracted callback parameters.

FieldTypeDescription
idID!Unique ID for this authorization attempt. Used to look up stored PKCE state at exchange time.
authorizationUrlString!The fully-constructed OAuth authorization URL. UI should redirect the user to this URL. IMPORTANT: The UI must store the authorization ID before redirecting, as it will be needed to call exchangeAuthorizationCode after the callback. The redirect URI does not contain the authorization ID.
callbackParameters[String!]!Query parameters the UI should extract from the OAuth callback URL and pass to exchangeAuthorizationCode (e.g., ["code"]).
expiresAtDateTime!When this authorization expires. UI should treat expired authorizations as stale.
Option

RecipeDescriptor resolved from changeset-specific recipes.csv. When a recipe run is created, the recipes.csv is copied to the changeset directory, so we can resolve the recipe that was used at the time of the run (not the current global state).

FieldTypeDescription
nameString!
valueObject
typeString!
displayNameString!
descriptionString!
exampleString
valid[String]
requiredBoolean!
Organization
FieldTypeDescription
idID!
changelog(first: Int = 50, after: String, where: ChangelogEntryWhereInput, orderBy: [ChangelogEntryOrderByInput!]): ChangelogEntryConnection!PR and commit activity feed for repositories in this organization.
participants(first: Int = 50, after: String, where: ChangelogParticipantWhereInput, orderBy: [ChangelogParticipantOrderByInput!]): ChangelogParticipantConnection!All unique participants across the changelog for this organization, aggregated from authors, assignees, closers, and reviewers.
commitOptions[CommitOption!]!Available commit options for this organization.
changesets(first: Int = 50, after: String, where: OrganizationChangesetWhereInput, orderBy: [OrganizationChangesetOrderByInput!]): OrganizationChangesetConnection!
devCenterDevCenterDevCenter provides organization-wide campaign progress tracking.
moddyModdy!
nameString!
parents[Organization!]!The ancestor organizations of this organization, ordered from immediate parent towards root. Does not include the epsilon root. Empty for the root organization and direct children of root.
userUserThe user who owns this organization. Null for global organizations, non-null for user-defined organizations.
repositories(first: Int = 100, after: String, where: RepositoryWhereInput, orderBy: [RepositoryOrderByInput!]): RepositoryConnection!
children(first: Int = 100, after: String, where: OrganizationWhereInput, orderBy: [OrganizationOrderByInput!]): OrganizationConnection!Direct children of this organization in the tree, paginated. Useful for lazy-loading the org tree level by level — e.g. an org selector that fetches the root, then the children of each folder only when the user expands it. where.depth is ignored on this field — every direct child of a given parent has the same depth, so the filter would be either all-or-nothing. Use where.name and the boolean composers (_and, _or, _not) for meaningful filtering. orderBy defaults to NAME ascending when unspecified.
marketplaceRecipeMarketplace
OrganizationChangesetConnection
FieldTypeDescription
edges[OrganizationChangesetEdge!]!
pageInfoPageInfo!
countInt!
OrganizationChangesetEdge
FieldTypeDescription
nodeOrganizationChangeset!
cursorString!
organizationOrganizationThe organization this changeset was run against. May differ from the queried organization when the changeset belongs to a suborganization. Null if the organization has been deleted or is temporarily unavailable.
OrganizationCommitCanceled

Implements: OrganizationCommit

Commit was canceled before completion.

FieldTypeDescription
idID!
userUser!
optionsCommitOptions!
messageString!
extendedMessageBase64
startedAtDateTime
finishedAtDateTime!
canceledByUser!Who or what initiated the cancellation.
repositories(first: Int = 50, after: String, where: RepositoryCommitWhereInput, orderBy: [RepositoryCommitOrderByInput!]): RepositoryCommitConnection!Paginated results per repository (partial).
OrganizationCommitConnection
FieldTypeDescription
edges[OrganizationCommitEdge!]!
pageInfoPageInfo!
countInt!
OrganizationCommitEdge
FieldTypeDescription
nodeOrganizationCommit!
cursorString!
OrganizationCommitError

Implements: OrganizationCommit

Commit failed with an error.

FieldTypeDescription
idID!
userUser!
optionsCommitOptions!
messageString!
extendedMessageBase64
startedAtDateTime
finishedAtDateTime!
errorMessageString!Human-readable error message.
repositories(first: Int = 50, after: String, where: RepositoryCommitWhereInput, orderBy: [RepositoryCommitOrderByInput!]): RepositoryCommitConnection!Paginated results per repository (partial).
OrganizationCommitFinished

Implements: OrganizationCommit

Commit completed successfully (all or partial success).

FieldTypeDescription
idID!
userUser!
optionsCommitOptions!
messageString!
extendedMessageBase64
startedAtDateTime!
finishedAtDateTime!
repositories(first: Int = 50, after: String, where: RepositoryCommitWhereInput, orderBy: [RepositoryCommitOrderByInput!]): RepositoryCommitConnection!Paginated results per repository.
OrganizationCommitQueued

Implements: OrganizationCommit

Commit is queued and waiting to be processed.

FieldTypeDescription
idID!
userUser!
optionsCommitOptions!
messageString!
extendedMessageBase64
startedAtDateTime!
repositories(first: Int = 50, after: String, where: RepositoryCommitWhereInput, orderBy: [RepositoryCommitOrderByInput!]): RepositoryCommitConnection!Paginated results per repository.
OrganizationCommitRunning

Implements: OrganizationCommit

Commit is actively being processed across repositories.

FieldTypeDescription
idID!
userUser!
optionsCommitOptions!
messageString!
extendedMessageBase64
startedAtDateTime!
repositories(first: Int = 50, after: String, where: RepositoryCommitWhereInput, orderBy: [RepositoryCommitOrderByInput!]): RepositoryCommitConnection!Paginated results per repository.
OrganizationConfiguration
FieldTypeDescription
resourceIdString!
skipSslBoolean!
skipValidateConnectivityBoolean!
connectivityHttpToolConnectivity!
OrganizationConnection
FieldTypeDescription
edges[OrganizationEdge!]!
pageInfoPageInfo!
countInt!
OrganizationEdge
FieldTypeDescription
nodeOrganization!
cursorString!
OrganizationRecipeRunCanceled

Implements: OrganizationChangeset, OrganizationRecipeRun

FieldTypeDescription
idID!
recipeRecipeDescriptor
userUser!
options[RecipeOptionValue!]!
createdAtDateTime!
lastUpdatedAtDateTime!Monotonic high-water mark advanced by every state writer (sync monitor, run monitor, processor). Treat as a content version: poll a tiny query selecting __typename + lastUpdatedAt cheaply and only refetch the heavy repositories/totals selections when this value changes.
priorityRecipeRunPriority!
parentOrganizationChangeset
startedAtDateTime
finishedAtDateTime!
canceledAtDateTime!Alias for finishedAt - when the run was canceled
repositories(first: Int = 100, after: String, where: RepositoryChangesetWhereInput, orderBy: [RepositoryChangesetOrderByInput!]): RepositoryChangesetConnection!
dataTables(first: Int = 50, after: String, where: DataTableWhereInput, orderBy: [DataTableOrderByInput!]): DataTableConnection!Data tables produced by this recipe run. Each data table starts as Available and transitions to Processing/Finished/Error when downloadDataTable mutation is called.
visualizations(first: Int = 50, after: String, where: VisualizationWhereInput, orderBy: [VisualizationOrderByInput!]): VisualizationConnection!Visualizations produced by this recipe run.
bulkPullRequestActions(first: Int = 50, after: String, where: BulkPullRequestActionWhereInput, orderBy: [BulkPullRequestActionOrderByInput!]): BulkPullRequestActionConnection!Bulk pull request actions (approve, merge, close) initiated against pull requests that belong to this changeset. Default sort: STARTED_AT DESC with QUEUED entries (no startedAt) appearing last so polling clients still see in-flight actions.
commits(first: Int = 50, after: String, where: OrganizationCommitWhereInput, orderBy: [OrganizationCommitOrderByInput!]): OrganizationCommitConnectionCommit operations initiated from this changeset.
OrganizationRecipeRunConnection
FieldTypeDescription
edges[OrganizationRecipeRunEdge!]!
pageInfoPageInfo!
countInt!
OrganizationRecipeRunEdge
FieldTypeDescription
nodeOrganizationRecipeRun!
cursorString!
OrganizationRecipeRunError

Implements: OrganizationChangeset, OrganizationRecipeRun

FieldTypeDescription
idID!
recipeRecipeDescriptor
userUser!
options[RecipeOptionValue!]!
createdAtDateTime!
lastUpdatedAtDateTime!Monotonic high-water mark advanced by every state writer (sync monitor, run monitor, processor). Treat as a content version: poll a tiny query selecting __typename + lastUpdatedAt cheaply and only refetch the heavy repositories/totals selections when this value changes.
priorityRecipeRunPriority!
parentOrganizationChangeset
startedAtDateTime
finishedAtDateTime!
errorMessageString
repositories(first: Int = 100, after: String, where: RepositoryChangesetWhereInput, orderBy: [RepositoryChangesetOrderByInput!]): RepositoryChangesetConnection!
dataTables(first: Int = 50, after: String, where: DataTableWhereInput, orderBy: [DataTableOrderByInput!]): DataTableConnection!Data tables produced by this recipe run. Each data table starts as Available and transitions to Processing/Finished/Error when downloadDataTable mutation is called.
visualizations(first: Int = 50, after: String, where: VisualizationWhereInput, orderBy: [VisualizationOrderByInput!]): VisualizationConnection!Visualizations produced by this recipe run.
bulkPullRequestActions(first: Int = 50, after: String, where: BulkPullRequestActionWhereInput, orderBy: [BulkPullRequestActionOrderByInput!]): BulkPullRequestActionConnection!Bulk pull request actions (approve, merge, close) initiated against pull requests that belong to this changeset. Default sort: STARTED_AT DESC with QUEUED entries (no startedAt) appearing last so polling clients still see in-flight actions.
commits(first: Int = 50, after: String, where: OrganizationCommitWhereInput, orderBy: [OrganizationCommitOrderByInput!]): OrganizationCommitConnectionCommit operations initiated from this changeset.
OrganizationRecipeRunFinished

Implements: OrganizationChangeset, OrganizationRecipeRun

FieldTypeDescription
idID!
recipeRecipeDescriptor
userUser!
options[RecipeOptionValue!]!
createdAtDateTime!
lastUpdatedAtDateTime!Monotonic high-water mark advanced by every state writer (sync monitor, run monitor, processor). Treat as a content version: poll a tiny query selecting __typename + lastUpdatedAt cheaply and only refetch the heavy repositories/totals selections when this value changes.
priorityRecipeRunPriority!
parentOrganizationChangeset
startedAtDateTime!
finishedAtDateTime!
durationDuration
totalsRecipeRunTotals!
repositories(first: Int = 100, after: String, where: RepositoryChangesetWhereInput, orderBy: [RepositoryChangesetOrderByInput!]): RepositoryChangesetConnection!
dataTables(first: Int = 50, after: String, where: DataTableWhereInput, orderBy: [DataTableOrderByInput!]): DataTableConnection!Data tables produced by this recipe run. Each data table starts as Available and transitions to Processing/Finished/Error when downloadDataTable mutation is called.
visualizations(first: Int = 50, after: String, where: VisualizationWhereInput, orderBy: [VisualizationOrderByInput!]): VisualizationConnection!Visualizations produced by this recipe run.
bulkPullRequestActions(first: Int = 50, after: String, where: BulkPullRequestActionWhereInput, orderBy: [BulkPullRequestActionOrderByInput!]): BulkPullRequestActionConnection!Bulk pull request actions (approve, merge, close) initiated against pull requests that belong to this changeset. Default sort: STARTED_AT DESC with QUEUED entries (no startedAt) appearing last so polling clients still see in-flight actions.
commits(first: Int = 50, after: String, where: OrganizationCommitWhereInput, orderBy: [OrganizationCommitOrderByInput!]): OrganizationCommitConnectionCommit operations initiated from this changeset.
OrganizationRecipeRunQueued

Implements: OrganizationChangeset, OrganizationRecipeRun

FieldTypeDescription
idID!
recipeRecipeDescriptor
userUser!
options[RecipeOptionValue!]!
createdAtDateTime!
lastUpdatedAtDateTime!Monotonic high-water mark advanced by every state writer (sync monitor, run monitor, processor). Treat as a content version: poll a tiny query selecting __typename + lastUpdatedAt cheaply and only refetch the heavy repositories/totals selections when this value changes.
priorityRecipeRunPriority!
parentOrganizationChangeset
queuedAtDateTime!
repositories(first: Int = 100, after: String, where: RepositoryChangesetWhereInput, orderBy: [RepositoryChangesetOrderByInput!]): RepositoryChangesetConnection!
dataTables(first: Int = 50, after: String, where: DataTableWhereInput, orderBy: [DataTableOrderByInput!]): DataTableConnection!Data tables produced by this recipe run. Each data table starts as Available and transitions to Processing/Finished/Error when downloadDataTable mutation is called.
visualizations(first: Int = 50, after: String, where: VisualizationWhereInput, orderBy: [VisualizationOrderByInput!]): VisualizationConnection!Visualizations produced by this recipe run.
bulkPullRequestActions(first: Int = 50, after: String, where: BulkPullRequestActionWhereInput, orderBy: [BulkPullRequestActionOrderByInput!]): BulkPullRequestActionConnection!Bulk pull request actions (approve, merge, close) initiated against pull requests that belong to this changeset. Default sort: STARTED_AT DESC with QUEUED entries (no startedAt) appearing last so polling clients still see in-flight actions.
commits(first: Int = 50, after: String, where: OrganizationCommitWhereInput, orderBy: [OrganizationCommitOrderByInput!]): OrganizationCommitConnectionCommit operations initiated from this changeset.
OrganizationRecipeRunRunning

Implements: OrganizationChangeset, OrganizationRecipeRun

FieldTypeDescription
idID!
recipeRecipeDescriptor
userUser!
options[RecipeOptionValue!]!
createdAtDateTime!
lastUpdatedAtDateTime!Monotonic high-water mark advanced by every state writer (sync monitor, run monitor, processor). Treat as a content version: poll a tiny query selecting __typename + lastUpdatedAt cheaply and only refetch the heavy repositories/totals selections when this value changes.
priorityRecipeRunPriority!
parentOrganizationChangeset
startedAtDateTime!
totalsRecipeRunTotals
repositories(first: Int = 100, after: String, where: RepositoryChangesetWhereInput, orderBy: [RepositoryChangesetOrderByInput!]): RepositoryChangesetConnection!
dataTables(first: Int = 50, after: String, where: DataTableWhereInput, orderBy: [DataTableOrderByInput!]): DataTableConnection!Data tables produced by this recipe run. Each data table starts as Available and transitions to Processing/Finished/Error when downloadDataTable mutation is called.
visualizations(first: Int = 50, after: String, where: VisualizationWhereInput, orderBy: [VisualizationOrderByInput!]): VisualizationConnection!Visualizations produced by this recipe run.
bulkPullRequestActions(first: Int = 50, after: String, where: BulkPullRequestActionWhereInput, orderBy: [BulkPullRequestActionOrderByInput!]): BulkPullRequestActionConnection!Bulk pull request actions (approve, merge, close) initiated against pull requests that belong to this changeset. Default sort: STARTED_AT DESC with QUEUED entries (no startedAt) appearing last so polling clients still see in-flight actions.
commits(first: Int = 50, after: String, where: OrganizationCommitWhereInput, orderBy: [OrganizationCommitOrderByInput!]): OrganizationCommitConnectionCommit operations initiated from this changeset.
OrganizationRecipeRunSyncing

Implements: OrganizationChangeset, OrganizationRecipeRun

FieldTypeDescription
idID!
recipeRecipeDescriptor
userUser!
options[RecipeOptionValue!]!
createdAtDateTime!
lastUpdatedAtDateTime!Monotonic high-water mark advanced by every state writer (sync monitor, run monitor, processor). Treat as a content version: poll a tiny query selecting __typename + lastUpdatedAt cheaply and only refetch the heavy repositories/totals selections when this value changes.
priorityRecipeRunPriority!
parentOrganizationChangeset
startedAtDateTime!
repositories(first: Int = 100, after: String, where: RepositoryChangesetWhereInput, orderBy: [RepositoryChangesetOrderByInput!]): RepositoryChangesetConnection!
dataTables(first: Int = 50, after: String, where: DataTableWhereInput, orderBy: [DataTableOrderByInput!]): DataTableConnection!Data tables produced by this recipe run. Each data table starts as Available and transitions to Processing/Finished/Error when downloadDataTable mutation is called.
visualizations(first: Int = 50, after: String, where: VisualizationWhereInput, orderBy: [VisualizationOrderByInput!]): VisualizationConnection!Visualizations produced by this recipe run.
bulkPullRequestActions(first: Int = 50, after: String, where: BulkPullRequestActionWhereInput, orderBy: [BulkPullRequestActionOrderByInput!]): BulkPullRequestActionConnection!Bulk pull request actions (approve, merge, close) initiated against pull requests that belong to this changeset. Default sort: STARTED_AT DESC with QUEUED entries (no startedAt) appearing last so polling clients still see in-flight actions.
commits(first: Int = 50, after: String, where: OrganizationCommitWhereInput, orderBy: [OrganizationCommitOrderByInput!]): OrganizationCommitConnectionCommit operations initiated from this changeset.
PageInfo
FieldTypeDescription
hasNextPageBoolean!
hasPreviousPageBoolean!
startCursorString
endCursorString
Patch
FieldTypeDescription
diffString!Sanitized diff (does not include markers)
fencedMarkerDiffString!A diff with search and markup markers included in fenced {{UUID}} wrappers that correspond to ids in the markers list.
markers[Marker!]!
PersonalAccessTokenConfiguration
FieldTypeDescription
maxExpiryDaysInt
PipRecipeBundle

Implements: RecipeBundle

FieldTypeDescription
packageNameString!
requestedVersionString
versionString
recipeCountInt
PlatformCapabilities
FieldTypeDescription
idID!
artifactsBoolean!
connectorBoolean!
changelogBoolean!
codeSearchBoolean!
moddyBoolean!
profilingProfiling!
Profiling
FieldTypeDescription
deployedBoolean!Whether the per-tenant Pyroscope ASG, S3 bucket, and IAM are provisioned.
sessionProfilingSessionThe currently active profiling session, or null when profiling is off. Flipped by setProfiling.
ProfilingSession
FieldTypeDescription
userUser!The user who turned profiling on.
startedAtDateTime!When profiling was turned on.
eventProfilingEvent!The primary profiling event the in-process agent is sampling.
Prompt
FieldTypeDescription
contentMarkdown!
lastUpdatedAtDateTime!
lastUpdatedByUser!
PullRequestActionCanceled

Implements: PullRequestAction

FieldTypeDescription
pullRequestPullRequestRef!
canceledByUser!
PullRequestActionConnection
FieldTypeDescription
edges[PullRequestActionEdge!]!
pageInfoPageInfo!
countInt!
PullRequestActionEdge
FieldTypeDescription
nodePullRequestAction!
cursorString!
PullRequestActionFailed

Implements: PullRequestAction

FieldTypeDescription
pullRequestPullRequestRef!
startedAtDateTime
finishedAtDateTime!
errorMessageString!
PullRequestActionQueued

Implements: PullRequestAction

FieldTypeDescription
pullRequestPullRequestRef!
PullRequestActionRunning

Implements: PullRequestAction

FieldTypeDescription
pullRequestPullRequestRef!
startedAtDateTime!
PullRequestActionSucceeded

Implements: PullRequestAction

FieldTypeDescription
pullRequestPullRequestRef!
startedAtDateTime!
finishedAtDateTime!
PullRequestCommitSucceeded

Implements: RepositoryCommitSucceeded, RepositoryCommit

Pull request commit completed successfully.

FieldTypeDescription
repositoryRepository!
startedAtDateTime!
finishedAtDateTime!
resultLinkString
pullRequestStatusPullRequestStatus!Pull request status.
PullRequestOptions

Implements: CommitOptions

FieldTypeDescription
branchNameString
pullRequestTitleStringIf unset, the commit message will be used as the pull request title.
pullRequestBodyBase64
draftBoolean!
autoMergeMethodMergeMethodIf allowed by the repository, set the pull request to automatically merge after all checks pass using the defined strategy.
canRecreateClosedPullRequestBoolean!Recreate a pull request if it was already closed.
PullRequestRef
FieldTypeDescription
originString!
repositoryPathString!
branchString!
numberInt!
PullRequestStatus
FieldTypeDescription
mergeableMergeable!Can this pull request be merged or not
statePullRequestState!
reviewReviewStatus!
buildStateBuildState
otherBlockingReasons[String!]!Additional status flags that block this pull request. Can depend on the SCM service provider.
PypiConfiguration
FieldTypeDescription
resourceIdString!
skipSslBoolean!
skipValidateConnectivityBoolean!
connectivityHttpToolConnectivity!
RecipeBundleConnection
FieldTypeDescription
edges[RecipeBundleEdge!]!
pageInfoPageInfo!
countInt!
RecipeBundleEdge
FieldTypeDescription
nodeRecipeBundle!
cursorString!
RecipeCategory
FieldTypeDescription
idID!
displayNameMarkdown!
descriptionMarkdown!
recipeCountInt!Total number of unique recipes in this category, including all subcategories recursively.
parents[RecipeCategory!]!
recipes(first: Int = 100, after: String, where: RecipeWhereInput, orderBy: [RecipeOrderByInput!]): RecipeDescriptorConnection!
categories(first: Int = 100, after: String, where: RecipeCategoryWhereInput, orderBy: [RecipeCategoryOrderByInput!]): RecipeCategoryConnection!
RecipeCategoryConnection
FieldTypeDescription
edges[RecipeCategoryEdge!]!
pageInfoPageInfo!
countInt!
RecipeCategoryEdge
FieldTypeDescription
nodeRecipeCategory!
cursorString!
RecipeDescriptor
FieldTypeDescription
idID!
instanceNameStringA user-defined name for this recipe instance, which may differ from displayName when the same recipe is used multiple times in a composite recipe with different options.
displayNameMarkdown!
descriptionMarkdown!
recipeCountInt
bundleRecipeBundle!
options[Option!]!
dataTables[DataTableDescriptor!]!
detailRecipeDetail!Expensive recipe detail fields that require resolving the full recipe bundle. Returns a state machine: query once to trigger resolution, poll until Finished.
devCenterCards[DevCenterCardDescriptor!]DevCenter card descriptors for this recipe, or null if not a DevCenter recipe.
RecipeDescriptorConnection
FieldTypeDescription
edges[RecipeDescriptorEdge!]!
pageInfoPageInfo!
countInt!
RecipeDescriptorEdge
FieldTypeDescription
nodeRecipeDescriptor!
cursorString!
relevanceFloat!Relevance score for this recipe in the context of a search query. For semantic search, this represents the search relevance (0.0 to 1.0). For filter-based queries, this is always 1.0.
RecipeDetailError

Implements: RecipeDetail

FieldTypeDescription
startedAtDateTime!
finishedAtDateTime!
messageString!
RecipeDetailFinished

Implements: RecipeDetail

FieldTypeDescription
startedAtDateTime!
finishedAtDateTime!
recipeList(first: Int = 100, after: String): RecipeDescriptorConnection!The list of recipes that make up this composite recipe. Returns an empty connection for non-composite (leaf) recipes.
tags[String!]!Tags associated with this recipe for categorization and filtering.
preconditions[RecipeDescriptor!]!
graphRecipeGraph!Flat vertices-and-edges representation of this composite recipe tree with Singleton deduplication pre-applied. Used by the Builder UI to visualize a composite recipe in a single round trip regardless of tree depth. Atomic (leaf) recipes return a single-vertex graph.
RecipeDetailLoading

Implements: RecipeDetail

FieldTypeDescription
startedAtDateTime!
RecipeGraph

Flat vertices-and-edges representation of a composite recipe with org.openrewrite.Singleton deduplication pre-applied. Produced by the marketplace backend and served to visualization clients in one round trip.

FieldTypeDescription
rootVertexIdInt!ID of the root (entry-point) vertex in the graph.
vertices[RecipeGraphVertex!]!
edges[RecipeGraphEdge!]!
RecipeGraphEdge
FieldTypeDescription
fromInt!
toInt!
typeRecipeGraphEdgeType!
RecipeGraphVertex

A vertex in a RecipeGraph: a full recipe occurrence with its configured options. Recipes that declare org.openrewrite.Singleton as a precondition are deduplicated — additional occurrences are expressed as REFERENCE edges pointing back to the first occurrence rather than as separate vertices.

FieldTypeDescription
idInt!
descriptorRecipeDescriptor!The recipe this vertex represents. Carries recipe name (as id), displayName, instanceName, options, bundle, dataTables, etc. — reuse the existing RecipeDescriptor type rather than duplicating fields here.
isSingletonBoolean!True if this recipe declares org.openrewrite.Singleton as a precondition, meaning additional occurrences in the graph appear as REFERENCE edges pointing back to this vertex.
RecipeInstallationConnection
FieldTypeDescription
edges[RecipeInstallationEdge!]!
pageInfoPageInfo!
countInt!
RecipeInstallationEdge
FieldTypeDescription
nodeRecipeInstallation!
cursorString!
requestedByUser!The user who initiated this installation
userUserThe user whose marketplace this installation was made to. If the installation is a universal or organization installation, this field will be null.
organizationOrganizationThe organization to which this installation was made. If the installation is a universal or user installation, this field will be null.
RecipeInstallationError

Implements: RecipeInstallation

Installation failed with an error.

FieldTypeDescription
idID!
bundleRecipeBundle!
startedAtDateTime!
finishedAtDateTime!
messageString!Human-readable error message.
RecipeInstallationFinished

Implements: RecipeInstallation

Installation completed successfully.

FieldTypeDescription
idID!
bundleRecipeBundle!
startedAtDateTime!
finishedAtDateTime!
recipes[RecipeDescriptor!]!The recipes that were installed.
RecipeInstallationProcessing

Implements: RecipeInstallation

Installation is actively loading and resolving the recipe bundle.

FieldTypeDescription
idID!
bundleRecipeBundle!
startedAtDateTime!
progressFloatProgress from 0.0 to 1.0, if available.
RecipeInstallationQueued

Implements: RecipeInstallation

Installation is queued and waiting to be processed.

FieldTypeDescription
idID!
bundleRecipeBundle!
startedAtDateTime!
RecipeMarketplace
FieldTypeDescription
categories(first: Int = 100, after: String, where: RecipeCategoryWhereInput, orderBy: [RecipeCategoryOrderByInput!]): RecipeCategoryConnection!
recipes(first: Int = 100, after: String, where: RecipeWhereInput, orderBy: [RecipeOrderByInput!]): RecipeDescriptorConnection!
installations(first: Int = 50, after: String, where: RecipeInstallationWhereInput, orderBy: [RecipeInstallationOrderByInput!]): RecipeInstallationConnection!
RecipeOptionsMessage

Implements: Message

FieldTypeDescription
idID!
userUser!
options[Option!]!
stateMessageState!
lastUpdatedAtDateTime!
RecipeOptionValue
FieldTypeDescription
nameString!
valueObject!
RecipeRunFileChange

Implements: FileChange

FieldTypeDescription
pathPath!
beforeSourcePathPath
afterSourcePathPath
diff(markupLevel: MarkupLevel = ERROR, showWhitespaceOnlyChanges: Boolean = true): Patch
recipesThatMadeChanges[[RecipeDescriptor!]!]!Recipe chains that contributed changes to this file. Each inner list is one mutation event's call stack, ordered root composite first to leaf recipe last (the leaf is the narrowest recipe that actually performed the change).
RecipeRunMessage

Implements: Message

Long-running recipe execution started by the LLM. Carries a typed progress envelope while IN_PROGRESS — clients should read progress rather than poking at a free-form payload. When the run reaches a terminal state, recipeRun resolves via federation.

FieldTypeDescription
idID!
userUser!
recipeRunOrganizationRecipeRun
progressRecipeRunProgressTyped progress snapshot while the run is IN_PROGRESS.
stateMessageState!
lastUpdatedAtDateTime!
RecipeRunProgress

Typed progress envelope for an in-flight recipe run.

FieldTypeDescription
recipeRunIdID
reposQueuedInt
reposRunningInt
reposFinishedInt
reposTotalInt
RecipeRunTotals
FieldTypeDescription
timeSavingsDuration
filesSearchedInt!
filesChangedInt!
filesWithResultsInt!
totalMarkersInt!
repositoriesWithResultsInt!
repositoriesSuccessfulInt!
repositoriesWithNoChangesInt!
repositoriesWithErrorsInt!
repositoriesInProgressInt!
RecipeSearchMessage

Implements: Message

FieldTypeDescription
idID!
userUser!
searchResults[RecipeDescriptor!]!
stateMessageState!
lastUpdatedAtDateTime!
RecipeUninstallation

Result of an uninstall operation.

FieldTypeDescription
removedCountInt!The number of recipes that were removed.
ReindexResult
FieldTypeDescription
resetCountInt!Number of repository cursors that were reset.
sinceDateTime!The timestamp cursors were rewound to.
Repository
FieldTypeDescription
originString!
pathString!
branchString!
changesetString
lstArtifactLstArtifact!
RepositoryAuthorization

Authorization status for accessing repository content. Resolved by the changeset reader using a batch check against the authorization service.

FieldTypeDescription
originString!The VCS origin (e.g., github.com).
isAuthorizedBoolean!Whether the user has a valid OAuth token for this origin.
RepositoryBatchChange

Implements: RepositoryChangeset

FieldTypeDescription
repositoryRepository!
authorizationRepositoryAuthorization!
results(first: Int = 100, after: String, where: FileChangeWhereInput, orderBy: [FileChangeOrderByInput!]): FileChangeConnection!
RepositoryChangesetConnection

Paginated connection for repository changesets.

completed indicates how many repositories have finished processing:

  • For BatchChange: completed always equals count (all repositories are pre-processed).
  • For OrganizationRecipeRun: completed counts repository runs in a terminal state (regardless of success/failure), excluding canceled runs. A canceled run shows the completion status reached prior to cancellation.

Sync totals (syncPending, synced, syncFailed, syncCanceled, syncSkipped) track repository sync progress during the SYNCING phase. Their sum equals count.

FieldTypeDescription
edges[RepositoryChangesetEdge!]!
pageInfoPageInfo!
completedInt!
countInt!
syncPendingInt!Repositories not yet synced.
syncedInt!Repositories successfully synced.
syncFailedInt!Repositories that failed to sync.
syncCanceledInt!Repositories whose sync was canceled before completion.
syncSkippedInt!Repositories the CLI skipped during sync (typically: no LST available).
RepositoryChangesetEdge
FieldTypeDescription
nodeRepositoryChangeset!
cursorString!
RepositoryCommitCanceled

Implements: RepositoryCommit

Repository commit was canceled. Use options.__typename to determine the specific commit type.

FieldTypeDescription
repositoryRepository!
startedAtDateTime
finishedAtDateTime!
optionsCommitOptions!The commit options. Use __typename to determine commit type.
RepositoryCommitConnection
FieldTypeDescription
edges[RepositoryCommitEdge!]!
pageInfoPageInfo!
countInt!
completedCountInt!Count of repository commits that have reached a terminal state (succeeded, failed, canceled, or no changes). Pair with count to show progress: "Completed X / Y".
RepositoryCommitEdge
FieldTypeDescription
nodeRepositoryCommit!
cursorString!
RepositoryCommitFailed

Implements: RepositoryCommit

Repository commit failed with an error. Use options.__typename to determine the specific commit type.

FieldTypeDescription
repositoryRepository!
startedAtDateTime
finishedAtDateTime!
errorMessageString!Human-readable error message.
retryCountIntNumber of retry attempts made.
optionsCommitOptions!The commit options. Use __typename to determine commit type.
RepositoryCommitNoChanges

Implements: RepositoryCommit

Repository commit completed but yielded no changes. Generally occurs when applying a patch does not produce any changes to commit. Use options.__typename to determine the specific commit type.

FieldTypeDescription
repositoryRepository!
startedAtDateTime!
finishedAtDateTime!
optionsCommitOptions!The commit options. Use __typename to determine commit type.
RepositoryCommitQueued

Implements: RepositoryCommit

Repository commit is queued and waiting to be processed. Use options.__typename to determine the specific commit type.

FieldTypeDescription
repositoryRepository!
startedAtDateTime
rateLimitResetDateTimeTime when rate limit expires (if rate limited).
optionsCommitOptions!The commit options. Use __typename to determine commit type.
RepositoryCommitRunning

Implements: RepositoryCommit

Repository commit is actively being processed. Use options.__typename to determine the specific commit type.

FieldTypeDescription
repositoryRepository!
startedAtDateTime!
optionsCommitOptions!The commit options. Use __typename to determine commit type.
RepositoryConnection
FieldTypeDescription
edges[RepositoryEdge!]!
pageInfoPageInfo!
countInt!
RepositoryEdge
FieldTypeDescription
nodeRepository!
cursorString!
RepositoryRecipeRunCanceled

Implements: RepositoryRecipeRun, RepositoryChangeset

FieldTypeDescription
repositoryRepository!
authorizationRepositoryAuthorization!
syncStatusRepositorySyncStatus
results(first: Int = 100, after: String, where: FileChangeWhereInput, orderBy: [FileChangeOrderByInput!]): FileChangeConnection!
RepositoryRecipeRunConnection
FieldTypeDescription
edges[RepositoryRecipeRunEdge!]!
pageInfoPageInfo!
countInt!
RepositoryRecipeRunEdge
FieldTypeDescription
nodeRepositoryRecipeRun!
cursorString!
RepositoryRecipeRunError

Implements: RepositoryRecipeRun, RepositoryChangeset

FieldTypeDescription
repositoryRepository!
authorizationRepositoryAuthorization!
syncStatusRepositorySyncStatus
results(first: Int = 100, after: String, where: FileChangeWhereInput, orderBy: [FileChangeOrderByInput!]): FileChangeConnection!
startedAtDateTime
finishedAtDateTime
errorReasonRepositoryErrorReason
messageString
RepositoryRecipeRunFinished

Implements: RepositoryRecipeRun, RepositoryChangeset

FieldTypeDescription
repositoryRepository!
authorizationRepositoryAuthorization!
syncStatusRepositorySyncStatus
results(first: Int = 100, after: String, where: FileChangeWhereInput, orderBy: [FileChangeOrderByInput!]): FileChangeConnection!
startedAtDateTime
finishedAtDateTime
timeSavingsDuration
RepositoryRecipeRunNoLst

Implements: RepositoryRecipeRun, RepositoryChangeset

FieldTypeDescription
repositoryRepository!
authorizationRepositoryAuthorization!
syncStatusRepositorySyncStatus
results(first: Int = 100, after: String, where: FileChangeWhereInput, orderBy: [FileChangeOrderByInput!]): FileChangeConnection!
RepositoryRecipeRunQueued

Implements: RepositoryRecipeRun, RepositoryChangeset

FieldTypeDescription
repositoryRepository!
authorizationRepositoryAuthorization!
syncStatusRepositorySyncStatus
results(first: Int = 100, after: String, where: FileChangeWhereInput, orderBy: [FileChangeOrderByInput!]): FileChangeConnection!
queuedAtDateTime
RepositoryRecipeRunRunning

Implements: RepositoryRecipeRun, RepositoryChangeset

FieldTypeDescription
repositoryRepository!
authorizationRepositoryAuthorization!
syncStatusRepositorySyncStatus
results(first: Int = 100, after: String, where: FileChangeWhereInput, orderBy: [FileChangeOrderByInput!]): FileChangeConnection!
startedAtDateTime
ReviewStatus
FieldTypeDescription
approvedBy[String!]
reviewDecisionReviewDecision!
RevokeTokenResult

Result of revoking an SCM OAuth token.

FieldTypeDescription
successBoolean!True if the token was revoked (or didn't exist).
errorStringError message if revocation failed.
S3Configuration
FieldTypeDescription
resourceIdString!
skipSslBoolean!
skipValidateConnectivityBoolean!
connectivityHttpToolConnectivity!
regionString
endpointUrlString
ScmTokenInfo
FieldTypeDescription
createdDateTime!
expiresAtDateTime
SearchResult

Implements: Marker

FieldTypeDescription
idID!
typeString!
descriptionString
SendMessageResult

Handle returned by createConversation / sendMessage. Clients should poll conversation.messages(after: initialCursor) using turnState.recommendedPollIntervalMs as the cadence hint.

FieldTypeDescription
conversationConversation!
initialCursorString!
turnStateConversationTurnState!
TextMessage

Implements: Message

A text message from either the human user or the chatbot. Check the user field to distinguish sender.

FieldTypeDescription
idID!
userUser!
contentMarkdown!
truncatedBoolean!True when the LLM response was cut off by the token limit.
stateMessageState!
lastUpdatedAtDateTime!
ToolInfo
FieldTypeDescription
nameString!
versionString
argumentsString
UiConfiguration
FieldTypeDescription
moreHelp[MoreHelpLink!]
loginTextString
loginLinks[MoreHelpLink!]
cliDownloadInstructionsCliDownloadInstructionLink
User
FieldTypeDescription
emailString!
usernameString
roleUserRole
lastActiveDateTime
tokens(first: Int = 100, after: String, where: AccessTokenWhereInput, orderBy: [AccessTokenOrderByInput!]): AccessTokenConnection!
moddyModdy!
UserConnection
FieldTypeDescription
edges[UsersEdge!]!
pageInfoPageInfo!
countInt!
UsersEdge
FieldTypeDescription
nodeUser!
cursorString!
VisualizationAvailable

Implements: Visualization

FieldTypeDescription
idID!
descriptorVisualizationDescriptor!
changesetIdID!The changeset (recipe run or batch change) this visualization is available for.
VisualizationConnection
FieldTypeDescription
edges[VisualizationEdge!]!
pageInfoPageInfo!
countInt!
VisualizationDescriptor
FieldTypeDescription
nameString!
displayNameMarkdown!
descriptionMarkdown!
imageBase64!
options[VisualizationOption!]!
VisualizationEdge
FieldTypeDescription
nodeVisualization!
cursorString!
VisualizationError

Implements: Visualization

FieldTypeDescription
idID!
descriptorVisualizationDescriptor!
changesetIdID!
startedAtDateTime!
finishedAtDateTime!
messageString!
repositories(first: Int = 100, after: String): VisualizationRepositoryConnection!
VisualizationFinished

Implements: Visualization

FieldTypeDescription
idID!
descriptorVisualizationDescriptor!
changesetIdID!
startedAtDateTime!
finishedAtDateTime!
durationDuration
outputVisualizationOutput!
repositories(first: Int = 100, after: String): VisualizationRepositoryConnection!
VisualizationImageOutput

Implements: VisualizationOutput

FieldTypeDescription
formatImageFormat!
dataBase64!
VisualizationOption
FieldTypeDescription
nameString!
valueObject
typeString!
displayNameString!
descriptionString!
exampleString
valid[String]
requiredBoolean!
VisualizationPlotlyOutput

Implements: VisualizationOutput

FieldTypeDescription
dataBase64!Plotly JSON data (MIME type: application/vnd.plotly.v1+json)
VisualizationProcessing

Implements: Visualization

FieldTypeDescription
idID!
descriptorVisualizationDescriptor!
changesetIdID!
startedAtDateTime!
repositories(first: Int = 100, after: String): VisualizationRepositoryConnection!
VisualizationRepository
FieldTypeDescription
stateVisualizationRepositoryRunState!
stateMessageString
repositoryRepository!
VisualizationRepositoryConnection
FieldTypeDescription
edges[VisualizationRepositoryEdge!]!
pageInfoPageInfo!
countInt!
VisualizationRepositoryEdge
FieldTypeDescription
nodeVisualizationRepository!
cursorString!
YamlRecipeBundle

Implements: RecipeBundle

FieldTypeDescription
yamlBase64!
requestedVersionString
versionString
recipeCountInt
primaryRecipeDescriptorThe primary recipe in this bundle. When specified, only this recipe is shown in marketplace categories, hiding other recipes from this bundle.

Interfaces

AuditLogsDownload
FieldTypeDescription
idID!
BulkPullRequestAction

A bulk pull request action (approve, merge, close) that operates on potentially multiple repositories. Use __typename to determine the current state.

Each BulkPullRequestAction contains individual PullRequestAction entries representing the state of each repository targeted by the bulk operation.

FieldTypeDescription
idID!
actionTypePullRequestActionType!
userUser!
results(first: Int = 50, after: String, where: PullRequestActionWhereInput, orderBy: [PullRequestActionOrderByInput!]): PullRequestActionConnection!
ChangelogEntry

A single entry in the changelog — either a commit or a pull request. Use __typename to distinguish between ChangelogCommit and ChangelogPullRequest.

FieldTypeDescription
idID!
titleString!Commit message (for commits) or PR title (for pull requests).
authorChangeParticipant!The author of the commit or PR.
repositoryRepository!The repository this entry belongs to.
urlString!URL to the commit or PR in the VCS provider.
branchString!The target branch (for PRs) or the branch committed to (for commits).
updatedAtDateTime!When this entry was last updated in the VCS provider.
createdAtDateTime!When this entry was created in the VCS provider.
changesetOrganizationChangesetIf this activity was originated by Moderne, the changeset it belongs to.
buildStateBuildStateCI status (e.g. from GitHub Actions, GitLab pipelines). Null if no CI is configured or status has not been fetched yet.
diffstatDiffStat!Lines added and removed.
CommitOptions
FieldTypeDescription
branchNameString
DataTable
FieldTypeDescription
idID!
dataTableDataTableDescriptor!
instanceNameString!A human-readable name for this data table instance, describing what it contains. For example, "Method calls matching `java.util.List add(..)`". Defaults to the data table's display name when not explicitly set.
groupStringThe group identifying this data table bucket. For community tables this is the group name (e.g., "architecture"). Null for ungrouped/private tables.
DevCenterRun

A DevCenter run represents the execution of a DevCenter recipe. Use __typename to determine the current state.

FieldTypeDescription
idID!
startedAtDateTime!When this DevCenter run started.
changesetOrganizationChangesetThe underlying recipe run changeset.
FileChange

A change to a single file within a repository changeset.

FieldTypeDescription
pathPath!Path to the file relative to repository root.
beforeSourcePathPathThe source path before the change (from the diff's --- a/... line). Null for newly created files.
afterSourcePathPathThe source path after the change (from the diff's +++ b/... line). Null for deleted files.
diff(markupLevel: MarkupLevel = ERROR, showWhitespaceOnlyChanges: Boolean = true): PatchGet the diff for this file.
Marker
FieldTypeDescription
idID!
Message
FieldTypeDescription
idID!
userUser!
stateMessageState!
lastUpdatedAtDateTime!
OrganizationChangeset

An organization-wide changeset represents code changes or search results across multiple repositories. Implemented by OrganizationRecipeRun* and BatchChange.

Note: This is a shared interface definition. Subgraphs that need to resolve this interface must define the implementation types (OrganizationRecipeRun*, BatchChange).

FieldTypeDescription
idID!
bulkPullRequestActions(first: Int = 50, after: String, where: BulkPullRequestActionWhereInput, orderBy: [BulkPullRequestActionOrderByInput!]): BulkPullRequestActionConnection!Bulk pull request actions (approve, merge, close) initiated against pull requests that belong to this changeset. Default sort: STARTED_AT DESC with QUEUED entries (no startedAt) appearing last so polling clients still see in-flight actions.
commits(first: Int = 50, after: String, where: OrganizationCommitWhereInput, orderBy: [OrganizationCommitOrderByInput!]): OrganizationCommitConnectionCommit operations initiated from this changeset.
userUser!
createdAtDateTime!
parentOrganizationChangeset
repositories(first: Int = 100, after: String, where: RepositoryChangesetWhereInput, orderBy: [RepositoryChangesetOrderByInput!]): RepositoryChangesetConnection!
dataTables(first: Int = 50, after: String, where: DataTableWhereInput, orderBy: [DataTableOrderByInput!]): DataTableConnection!Data tables produced by this recipe run. Each data table starts as Available and transitions to Processing/Finished/Error when downloadDataTable mutation is called.
visualizations(first: Int = 50, after: String, where: VisualizationWhereInput, orderBy: [VisualizationOrderByInput!]): VisualizationConnection!Visualizations produced by this changeset. Each visualization starts as Available and transitions to Processing/Finished/Error when runVisualization mutation is called.
OrganizationCommit

An organization-level commit operation represents applying changes across multiple repositories. Use __typename to determine the current state.

FieldTypeDescription
idID!
userUser!The user who initiated the commit.
optionsCommitOptions!The commit options (branch, PR settings, etc.).
messageString!The commit message.
extendedMessageBase64Extended commit message (Base64 encoded).
repositories(first: Int = 50, after: String, where: RepositoryCommitWhereInput, orderBy: [RepositoryCommitOrderByInput!]): RepositoryCommitConnection!Paginated results per repository.
OrganizationRecipeRun
FieldTypeDescription
idID!
bulkPullRequestActions(first: Int = 50, after: String, where: BulkPullRequestActionWhereInput, orderBy: [BulkPullRequestActionOrderByInput!]): BulkPullRequestActionConnection!Bulk pull request actions for recipe-run changesets.
commits(first: Int = 50, after: String, where: OrganizationCommitWhereInput, orderBy: [OrganizationCommitOrderByInput!]): OrganizationCommitConnectionCommit operations initiated from this recipe run.
recipeRecipeDescriptor
userUser!
options[RecipeOptionValue!]!
createdAtDateTime!
lastUpdatedAtDateTime!Monotonic high-water mark advanced by every state writer (sync monitor, run monitor, processor). Treat as a content version: poll a tiny query selecting __typename + lastUpdatedAt cheaply and only refetch the heavy repositories/totals selections when this value changes.
priorityRecipeRunPriority!
parentOrganizationChangeset
repositories(first: Int = 100, after: String, where: RepositoryChangesetWhereInput, orderBy: [RepositoryChangesetOrderByInput!]): RepositoryChangesetConnection!
dataTables(first: Int = 50, after: String, where: DataTableWhereInput, orderBy: [DataTableOrderByInput!]): DataTableConnection!Data tables produced by this recipe run. Each data table starts as Available and transitions to Processing/Finished/Error when downloadDataTable mutation is called.
visualizations(first: Int = 50, after: String, where: VisualizationWhereInput, orderBy: [VisualizationOrderByInput!]): VisualizationConnection!Visualizations produced by this recipe run.
PullRequestAction

The state of an individual repository within a BulkPullRequestAction. Use __typename to determine the current state.

FieldTypeDescription
pullRequestPullRequestRef!
RecipeBundle
FieldTypeDescription
requestedVersionString
versionString
recipeCountIntNumber of top-level recipes contributed by this bundle's package. Null when the bundle has not yet been resolved into the marketplace (e.g. an installation still in progress).
RecipeDetail

State machine for recipe detail resolution. Querying the detail field on a RecipeDescriptor triggers background resolution of the full recipe bundle. Poll until __typename is RecipeDetailFinished.

FieldTypeDescription
startedAtDateTime!
RecipeInstallation

Common fields for all recipe installation states. Use __typename to determine the current state.

FieldTypeDescription
idID!
bundleRecipeBundle!
startedAtDateTime!
RepositoryChangeset
FieldTypeDescription
repositoryRepository!
authorizationRepositoryAuthorization!Authorization status for accessing this repository's content. Check this before accessing file results.
results(first: Int = 100, after: String, where: FileChangeWhereInput, orderBy: [FileChangeOrderByInput!]): FileChangeConnection!File-level changes within this repository.
RepositoryCommit

A commit result for a single repository within an organization-level commit operation. Use __typename to determine the current state.

FieldTypeDescription
repositoryRepository!
RepositoryCommitSucceeded

Repository commit completed successfully. Use __typename to determine the specific commit type.

FieldTypeDescription
repositoryRepository!
startedAtDateTime!
finishedAtDateTime!
resultLinkStringLink to the commit or pull request result.
RepositoryRecipeRun
FieldTypeDescription
repositoryRepository!
authorizationRepositoryAuthorization!
syncStatusRepositorySyncStatus
results(first: Int = 100, after: String, where: FileChangeWhereInput, orderBy: [FileChangeOrderByInput!]): FileChangeConnection!
ScmConnection
FieldTypeDescription
resourceIdString!
isAuthorizedBoolean!
tokens[ScmTokenInfo!]!
Visualization
FieldTypeDescription
idID!
descriptorVisualizationDescriptor!
VisualizationOutput
FieldTypeDescription
dataBase64!

Enums

AccessTokenOrderByField
  • CREATED
  • EXPIRES_AT
AuditActionType
  • CREATE
  • READ
  • UPDATE
  • DELETE
AuditLogExportFormat
  • CEF
  • CSV
AuditLogOrderByField
  • TIMESTAMP
  • USER_ID
  • TARGET
  • ACTION
AuditLogsDownloadOrderByField
  • STARTED_AT
AuditOutcome
  • SUCCESS
  • FAILURE
BuildState
  • PENDING
  • IN_PROGRESS
  • FAILED
  • SKIPPED
  • SUCCESSFUL
  • NOT_REQUIRED
BulkPullRequestActionOrderByField
  • CREATED_AT
  • STARTED_AT
  • FINISHED_AT
BulkPullRequestActionState

The lifecycle state of a BulkPullRequestAction. Matches the __typename of the concrete state types (Queued, Running, Finished, Canceled, Error).

  • QUEUED
  • RUNNING
  • FINISHED
  • CANCELED
  • ERROR
ChangelogEntryOrderByField
  • UPDATED_AT
  • CREATED_AT
  • TITLE
  • REPOSITORY_PATH
ChangelogEntryType

Discriminator for filtering by entry type.

  • COMMIT
  • PULL_REQUEST
ChangelogParticipantOrderByField
  • USERNAME
  • EMAIL
  • NAME
CommitOption
  • DIRECT
  • BRANCH
  • FORK
  • PULL_REQUEST
  • FORK_AND_PULL_REQUEST
  • NONE
ConnectorOrderByField
  • NICKNAME
  • VERSION
ConnectorToolType
  • GITHUB
  • GITLAB
  • BITBUCKET
  • BITBUCKET_CLOUD
  • AZURE_DEVOPS
  • ARTIFACTORY
  • MAVEN
  • PYPI
  • NPM
  • NUGET
  • HTTP_TOOL
  • ORGANIZATION
  • LLM
  • S3
ContributorRole

The participant's role for filtering.

  • AUTHOR
  • ASSIGNEE
  • CLOSED_BY
  • REVIEWER
ConversationOrderByField
  • STARTED_AT
  • LAST_UPDATED_AT
ConversationPhase
  • IDLE
  • AWAITING_LLM
  • STREAMING_TEXT
  • TOOL_RUNNING
  • ERRORED
DataTableFormat
  • CSV
  • XLSX
DataTableOrderByField
  • DATA_TABLE
  • STARTED_AT
DevCenterAggregation

How DevCenter card results are aggregated across repositories.

  • PER_REPOSITORY
  • PER_OCCURRENCE
DevCenterRunOrderByField
  • STARTED_AT
  • STATE
DevCenterRunState

Execution state of a DevCenter run.

  • RUNNING
  • FINISHED
  • CANCELED
  • ERROR
FileChangeOrderByField
  • PATH
ImageFormat
  • SVG
  • GIF
  • JPEG
  • PNG
LlmProvider
  • ANTHROPIC
  • GEMINI
  • MISTRAL
  • OPEN_AI
MarkupLevel
  • DEBUG
  • INFO
  • WARNING
  • ERROR
  • NONE
Mergeable
  • MERGEABLE
  • BLOCKED
  • UNKNOWN
MergeMethod
  • MERGE
  • SQUASH
  • REBASE
MessageState
  • IN_PROGRESS
  • COMPLETED
OrganizationChangesetOrderByField
  • CREATED_AT
  • TYPE
  • USER
OrganizationChangesetType
  • RECIPE_RUN
  • BATCH_CHANGE
OrganizationCommitOrderByField
  • STARTED_AT
OrganizationOrderByField
  • NAME
OrganizationRecipeRunOrderByField
  • STARTED_AT
  • ENDED_AT
  • STATE
  • USER
OrganizationRecipeRunState
  • QUEUED
  • SYNCING
  • RUNNING
  • FINISHED
  • CANCELED
  • ERROR
ProfilingEvent

The primary event the Pyroscope agent samples on. async-profiler can only collect one of these at a time as the primary event; alloc and lock sampling run on separate channels and are always on.

  • CPU
  • WALL
PullRequestActionOrderByField
  • REPOSITORY_PATH
  • STATE
  • STARTED_AT
PullRequestActionState
  • QUEUED
  • IN_PROGRESS
  • SUCCESSFUL
  • FAILED
  • CANCELED
PullRequestActionType
  • APPROVE
  • MERGE
  • CLOSE
PullRequestState
  • OPEN
  • DRAFT
  • CLOSED
  • MERGED
RecipeBundleOrderByField
  • PACKAGE_NAME
  • VERSION
  • REQUESTED_VERSION
  • ECOSYSTEM
RecipeCategoryOrderByField
  • DISPLAY_NAME
  • RECIPE_COUNT
RecipeEcosystem
  • Maven
  • NPM
  • YAML
  • Pip
  • Nuget
  • Go
RecipeGraphEdgeType
  • RECIPE
  • PRECONDITION
  • REFERENCE
RecipeInstallationOrderByField
  • STARTED_AT
  • STATUS
RecipeInstallationStatus
  • QUEUED
  • PROCESSING
  • FINISHED
  • ERROR
RecipeOrderByField
  • ID
  • DISPLAY_NAME
  • RECIPE_COUNT
  • RELEVANCE
RecipeRunPriority

Priority level for recipe runs. HIGH priority runs target small organizations (≤100 repositories). LOW priority runs target large organizations (>100 repositories).

  • HIGH
  • LOW
RepositoryChangesetOrderByField
  • PATH
  • ORIGIN
  • FILES_CHANGED
  • SYNC_STATUS
RepositoryChangesetState

Result state of a repository within a changeset.

  • QUEUED
  • RUNNING
  • SUCCESS
  • ERROR
  • NO_LST
  • CANCELED
RepositoryCommitOrderByField
  • STARTED_AT
RepositoryErrorReason
  • FAILED_LOAD_AST
  • FAILED_LOAD_RECIPE
  • TIMEOUT
  • RECIPE_ERROR
RepositoryOrderByField
  • ORIGIN
  • PATH
  • BRANCH
  • CHANGESET
  • LST_ARTIFACT_PUBLISHED
RepositoryRecipeRunOrderByField
  • PATH
  • ORIGIN
  • STATE
RepositorySyncStatus

Sync status of a repository within a recipe run. Tracks whether the repository has been synced (cloned + LST downloaded) before the recipe execution phase begins.

SKIPPED indicates the CLI elected not to sync the repository — typically because there is no LST available to fetch — and is distinct from FAILED, which indicates an actual error during the sync attempt. CANCELED is set when sync was interrupted (e.g., the run was canceled before the repository's sync completed).

  • PENDING
  • SYNCED
  • FAILED
  • CANCELED
  • SKIPPED
ReviewDecision
  • APPROVED
  • CHANGES_REQUESTED
  • REVIEW_REQUIRED
  • REVIEW_NOT_REQUIRED
  • UNKNOWN
ScmType
  • GITHUB
  • BITBUCKET
  • BITBUCKET_CLOUD
  • GITLAB
  • AZURE_DEVOPS
SortOrder
  • ASC
  • DESC
UserOrderByField
  • EMAIL
  • USERNAME
  • ROLE
  • LAST_ACTIVE
UserRole
  • ADMIN
  • USER
VisualizationOrderByField
  • VISUALIZATION
  • STARTED_AT
VisualizationRepositoryRunState
  • QUEUED
  • PROCESSING
  • FINISHED
  • FINISHED_EMPTY
  • NO_LST
  • ERROR

Input types

AccessTokenOrderByInput
FieldTypeDescription
fieldAccessTokenOrderByField!
directionSortOrder!
AccessTokenWhereInput
FieldTypeDescription
descriptionStringFilter
createdDateTimeFilter
expiresAtDateTimeFilter
_and[AccessTokenWhereInput!]
_or[AccessTokenWhereInput!]
_notAccessTokenWhereInput
AuditActionTypeFilter
FieldTypeDescription
_eqAuditActionType
_neqAuditActionType
_in[AuditActionType!]
_nin[AuditActionType!]
AuditLogExportFormatFilter
FieldTypeDescription
_eqAuditLogExportFormat
_neqAuditLogExportFormat
_in[AuditLogExportFormat!]
_nin[AuditLogExportFormat!]
AuditLogOrderByInput
FieldTypeDescription
fieldAuditLogOrderByField!
directionSortOrder!
AuditLogsDownloadOrderByInput
FieldTypeDescription
fieldAuditLogsDownloadOrderByField!
directionSortOrder!
AuditLogsDownloadWhereInput
FieldTypeDescription
idIDFilter
formatAuditLogExportFormatFilter
_and[AuditLogsDownloadWhereInput!]
_or[AuditLogsDownloadWhereInput!]
_notAuditLogsDownloadWhereInput
AuditLogWhereInput
FieldTypeDescription
userUserWhereInput
targetStringFilter
actionStringFilter
actionTypeAuditActionTypeFilter
outcomeAuditOutcomeFilter
descriptionStringFilter
timestampDateTimeFilter
_and[AuditLogWhereInput!]
_or[AuditLogWhereInput!]
_notAuditLogWhereInput
AuditOutcomeFilter
FieldTypeDescription
_eqAuditOutcome
_neqAuditOutcome
BooleanFilter
FieldTypeDescription
_eqBoolean
_neqBoolean
BuildStateFilter
FieldTypeDescription
_eqBuildState
_neqBuildState
_in[BuildState!]
_nin[BuildState!]
BulkPullRequestActionOrderByInput
FieldTypeDescription
fieldBulkPullRequestActionOrderByField!
directionSortOrder!
BulkPullRequestActionStateFilter
FieldTypeDescription
_eqBulkPullRequestActionState
_neqBulkPullRequestActionState
_in[BulkPullRequestActionState!]
_nin[BulkPullRequestActionState!]
BulkPullRequestActionWhereInput
FieldTypeDescription
actionTypePullRequestActionTypeFilter
stateBulkPullRequestActionStateFilter
startedAtDateTimeFilterFilter by startedAt. Matches RUNNING/FINISHED/ERROR/CANCELED states that have a startedAt value; QUEUED entries (no startedAt) are excluded when a bound is supplied.
userUserWhereInput
_and[BulkPullRequestActionWhereInput!]
_or[BulkPullRequestActionWhereInput!]
_notBulkPullRequestActionWhereInput
ChangelogAuthorWhereInput

Filter by changelog author.

FieldTypeDescription
nameStringFilter
emailStringFilter
usernameStringFilter
roleContributorRoleThe role of the contributor to filter on.
_and[ChangelogAuthorWhereInput!]
_or[ChangelogAuthorWhereInput!]
_notChangelogAuthorWhereInput
ChangelogEntryOrderByInput
FieldTypeDescription
fieldChangelogEntryOrderByField!
directionSortOrder!
ChangelogEntryTypeFilter
FieldTypeDescription
_eqChangelogEntryType
_neqChangelogEntryType
_in[ChangelogEntryType!]
_nin[ChangelogEntryType!]
ChangelogEntryWhereInput

Filter input for changelog entries.

FieldTypeDescription
entryTypeChangelogEntryTypeFilterFilter by entry type (COMMIT or PULL_REQUEST).
titleStringFilterFull-text search on title.
authorChangelogAuthorWhereInputFilter by author.
repositoryPathStringFilterFilter by repository path.
repositoryOriginStringFilterFilter by repository origin.
updatedAtDateTimeFilterFilter by last updated time.
createdAtDateTimeFilterFilter by creation time.
pullRequestStatePullRequestStateFilterFilter by pull request state (only applies to PRs).
buildStateBuildStateFilterFilter by CI state.
reviewDecisionReviewDecisionFilterFilter by review decision.
changesetIdStringFilterFilter by changeset ID.
_and[ChangelogEntryWhereInput!]
_or[ChangelogEntryWhereInput!]
_notChangelogEntryWhereInput
ChangelogParticipantOrderByInput
FieldTypeDescription
fieldChangelogParticipantOrderByField!
directionSortOrder!
ChangelogParticipantWhereInput

Filter input for participants.

FieldTypeDescription
nameStringFilter
emailStringFilter
usernameStringFilter
roleContributorRoleFilter participants by role.
updatedAtDateTimeFilterScopes participant aggregation to entries updated within this window. Defaults to last 30 days if not specified.
_and[ChangelogParticipantWhereInput!]
_or[ChangelogParticipantWhereInput!]
_notChangelogParticipantWhereInput
CommitInput

Input for creating a commit from a changeset.

FieldTypeDescription
organizationIdIDOrganization ID for determining available commit options.
changesetIdID!Changeset ID (e.g., recipe run ID, batch changeset ID). Resolved via federation to an OrganizationChangeset.
repositories[RepositoryChangesetWhereInput!]Filter which repositories and files to include. Evaluated in order - first matching rule wins for each repository. Put repo-specific rules first, global fallback rules last. If empty or not provided, all repositories and files in the changeset are included.
branchNameStringIf unset, commit to the branch that the LST was generated from.
messageString!Commit message.
extendedMessageBase64Extended commit message (Base64 encoded).
gpgKeyGpgInputGPG key for signing commits.
emailStringEmail to author commit with. Verified against your emails (public and private) that are verified in your SCM provider. If left blank, your first email will be used.
scmAccessTokens[ScmAccessToken!]Optional SCM access tokens keyed by origin. When provided, these are used instead of stored OAuth tokens for the matching origin.
strategyCommitStrategyInput!How to deliver the commit. Choose one strategy.
CommitStrategyInput

Commit delivery strategy. Choose one option.

FieldTypeDescription
directDirectCommitInputPush directly to the origin remote.
forkForkCommitInputPush to a fork of the origin repository.
pullRequestPullRequestCommitInputCreate a pull request from a branch on the origin remote.
forkAndPullRequestForkAndPullRequestCommitInputCreate a pull request from a branch on a fork.
ConnectorOrderByInput
FieldTypeDescription
fieldConnectorOrderByField!
directionSortOrder!
ConnectorToolTypeFilter
FieldTypeDescription
_eqConnectorToolType
_in[ConnectorToolType!]
ConnectorWhereInput
FieldTypeDescription
idIDFilter
nicknameStringFilter
versionStringFilter
toolTypeConnectorToolTypeFilter
_and[ConnectorWhereInput!]
_or[ConnectorWhereInput!]
_notConnectorWhereInput
ConversationOrderByInput
FieldTypeDescription
fieldConversationOrderByField!
directionSortOrder!
ConversationWhereInput
FieldTypeDescription
idIDFilter
userStringFilter
startedAtDateTimeFilter
lastUpdatedAtDateTimeFilter
_and[ConversationWhereInput!]
_or[ConversationWhereInput!]
_notConversationWhereInput
CreateConversationInput
FieldTypeDescription
messageString!
organizationIdID!
CreateUserOrganizationInput
FieldTypeDescription
nameString!The name of the organization.
repositories[RepositoryInput!]Repositories to include in the organization.
DataTableFormatFilter
FieldTypeDescription
_eqDataTableFormat
_neqDataTableFormat
_in[DataTableFormat!]
_nin[DataTableFormat!]
DataTableOrderByInput
FieldTypeDescription
fieldDataTableOrderByField!
directionSortOrder!
DataTableWhereInput
FieldTypeDescription
idIDFilter
dataTableStringFilter
groupStringFilter
formatDataTableFormatFilter
_and[DataTableWhereInput!]
_or[DataTableWhereInput!]
_notDataTableWhereInput
DateTimeFilter
FieldTypeDescription
_eqDateTime
_neqDateTime
_gtDateTime
_gteDateTime
_ltDateTime
_lteDateTime
DevCenterRunOrderByInput
FieldTypeDescription
fieldDevCenterRunOrderByField!
directionSortOrder!
DevCenterRunStateFilter
FieldTypeDescription
_eqDevCenterRunState
_neqDevCenterRunState
_in[DevCenterRunState!]
_nin[DevCenterRunState!]
DevCenterRunWhereInput

Filter input for DevCenter run queries.

FieldTypeDescription
idIDFilterFilter by run ID. Use where: \{ id: \{ _eq: "run-id" \} \} to get a specific run.
stateDevCenterRunStateFilterFilter by run state.
startedAtDateTimeFilterFilter by start time.
_and[DevCenterRunWhereInput!]Logical AND - all conditions must match.
_or[DevCenterRunWhereInput!]Logical OR - at least one condition must match.
_notDevCenterRunWhereInputLogical NOT - negates the condition.
DirectCommitInput

Direct commit to origin. No additional options required.

FieldTypeDescription
_emptyBooleanPlaceholder field. Direct commits require no additional configuration.
ExchangeAuthorizationCodeInput
FieldTypeDescription
authorizationIdID!The authorization ID returned from initiateAuthorization or from NeedsAuthorization.
codeString!Authorization code from the OAuth callback.
redirectUriString!The redirect URI used in the authorization request. Note: This field is deprecated - the server uses the stored redirect URI from the authorization to ensure an exact match.
FileChangeOrderByInput
FieldTypeDescription
fieldFileChangeOrderByField!
directionSortOrder!
FileChangeWhereInput

Filter for file changes.

FieldTypeDescription
pathPathFilterFilter by file path using glob patterns.
_and[FileChangeWhereInput!]Logical AND - all conditions must match.
_or[FileChangeWhereInput!]Logical OR - at least one condition must match.
_notFileChangeWhereInputLogical NOT - negates the condition.
ForkAndPullRequestCommitInput

Create a pull request from a branch on a fork.

FieldTypeDescription
organizationStringOrganization to create the fork in. If unset, creates in user's personal account.
prefixOrganizationNameBooleanPrefix the fork name with the origin organization to avoid name collisions.
titleStringPull request title. If unset, uses the commit message.
bodyBase64Pull request body (Base64 encoded).
draftBooleanCreate as a draft pull request.
maintainerCanModifyBooleanGitHub only: allow maintainers to edit the pull request.
autoMergeMethodMergeMethodAuto-merge method after checks pass. Null means no auto-merge. Best effort - silently ignored if not supported by the repository.
recreateClosedPullRequestBooleanRecreate pull request if it was previously closed.
ForkCommitInput

Commit to a fork of the origin repository.

FieldTypeDescription
organizationStringOrganization to create the fork in. If unset, creates in user's personal account.
prefixOrganizationNameBooleanPrefix the fork name with the origin organization to avoid name collisions. Example: openrewrite/rewrite -> myuser/openrewrite__rewrite
GoRecipeBundleInput
FieldTypeDescription
packageNameString!
versionString
GpgInput
FieldTypeDescription
privateKeyString!
publicKeyString!
passphraseString
IDFilter
FieldTypeDescription
_eqID
_neqID
_in[ID!]
_nin[ID!]
InitiateAuthorizationInput
FieldTypeDescription
originString!The VCS origin to authorize (e.g., github.com, gitlab.com).
redirectUriString!The redirect URI where the VCS will send the callback. Must match an allowed redirect URI in the OAuth app configuration.
IntFilter
FieldTypeDescription
_eqInt
_neqInt
_gtInt
_gteInt
_ltInt
_lteInt
LstArtifactWhereInput
FieldTypeDescription
publishedDateTimeFilter
availableBooleanFilter
_and[LstArtifactWhereInput!]
_or[LstArtifactWhereInput!]
_notLstArtifactWhereInput
MavenRecipeBundleInput
FieldTypeDescription
groupIdString!
artifactIdString!
versionString!
NpmRecipeBundleInput
FieldTypeDescription
packageNameString!
versionString!
NugetRecipeBundleInput
FieldTypeDescription
packageNameString!
versionString!
OrganizationChangesetOrderByInput
FieldTypeDescription
fieldOrganizationChangesetOrderByField!
directionSortOrder!
OrganizationChangesetTypeFilter
FieldTypeDescription
_eqOrganizationChangesetType
_neqOrganizationChangesetType
_in[OrganizationChangesetType!]
_nin[OrganizationChangesetType!]
OrganizationChangesetWhereInput
FieldTypeDescription
idIDFilter
typeOrganizationChangesetTypeFilter
createdAtDateTimeFilter
userStringFilter
_and[OrganizationChangesetWhereInput!]
_or[OrganizationChangesetWhereInput!]
_notOrganizationChangesetWhereInput
OrganizationCommitOrderByInput
FieldTypeDescription
fieldOrganizationCommitOrderByField!
directionSortOrder!
OrganizationCommitWhereInput

Filter input for organization-level commit queries.

FieldTypeDescription
idIDFilterFilter by commit ID.
startedAtDateTimeFilterFilter by when the commit started.
_and[OrganizationCommitWhereInput!]Logical AND - all conditions must match.
_or[OrganizationCommitWhereInput!]Logical OR - at least one condition must match.
_notOrganizationCommitWhereInputLogical NOT - negates the condition.
OrganizationOrderByInput
FieldTypeDescription
fieldOrganizationOrderByField!
directionSortOrder!
OrganizationRecipeRunOrderByInput
FieldTypeDescription
fieldOrganizationRecipeRunOrderByField!
directionSortOrder!
OrganizationRecipeRunStateFilter
FieldTypeDescription
_eqOrganizationRecipeRunState
_neqOrganizationRecipeRunState
_in[OrganizationRecipeRunState!]
_nin[OrganizationRecipeRunState!]
OrganizationRecipeRunWhereInput
FieldTypeDescription
idIDFilter
stateOrganizationRecipeRunStateFilter
startedAtDateTimeFilter
userStringFilter
_and[OrganizationRecipeRunWhereInput!]
_or[OrganizationRecipeRunWhereInput!]
_notOrganizationRecipeRunWhereInput
OrganizationWhereInput
FieldTypeDescription
nameStringFilter
depthIntFilterFilter by depth in the organization hierarchy. The root organization ("_root") is depth 0, its direct children are depth 1, etc.
_and[OrganizationWhereInput!]
_or[OrganizationWhereInput!]
_notOrganizationWhereInput
PathFilter

Filter for file paths using glob patterns.

FieldTypeDescription
_eqPathExact path match.
_in[Path!]Match any of the exact paths.
_nin[Path!]Exclude any of the exact paths.
_globStringGlob pattern match. Examples: /*.java, src/main/
PipRecipeBundleInput
FieldTypeDescription
packageNameString!
versionString
PullRequestActionOrderByInput
FieldTypeDescription
fieldPullRequestActionOrderByField!
directionSortOrder!
PullRequestActionStateFilter
FieldTypeDescription
_eqPullRequestActionState
_neqPullRequestActionState
_in[PullRequestActionState!]
_nin[PullRequestActionState!]
PullRequestActionTypeFilter
FieldTypeDescription
_eqPullRequestActionType
_neqPullRequestActionType
_in[PullRequestActionType!]
_nin[PullRequestActionType!]
PullRequestActionWhereInput
FieldTypeDescription
statePullRequestActionStateFilter
_and[PullRequestActionWhereInput!]
_or[PullRequestActionWhereInput!]
_notPullRequestActionWhereInput
PullRequestCommitInput

Create a pull request from a branch on the origin remote.

FieldTypeDescription
titleStringPull request title. If unset, uses the commit message.
bodyBase64Pull request body (Base64 encoded).
draftBooleanCreate as a draft pull request.
autoMergeMethodMergeMethodAuto-merge method after checks pass. Null means no auto-merge. Best effort - silently ignored if not supported by the repository.
recreateClosedPullRequestBooleanRecreate pull request if it was previously closed.
PullRequestInput
FieldTypeDescription
repositoryRepositoryInput!
numberInt!Pull request number.
PullRequestSelectionInput

Selects pull requests for a bulk action.

The where filter defines a base set of matching PRs. The optional pullRequests modifier can include or exclude specific PRs from that base set.

Examples:

  • Filter-only: \{ where: \{ ... \} \} — all matching PRs
  • Explicit: \{ pullRequests: \{ include: [...] \} \} — exactly those PRs
  • Filter + exclusions: \{ where: \{ ... \}, pullRequests: \{ exclude: [...] \} \} — matching minus excluded
  • Filter + additions: \{ where: \{ ... \}, pullRequests: \{ include: [...] \} \} — matching plus included
FieldTypeDescription
whereChangelogEntryWhereInputFilter for the base set of PRs. Omit to start with an empty set.
pullRequestsPullRequestSelectionModifierModify the base set by including or excluding specific PRs.
PullRequestSelectionModifier

Modifies a PR selection by either including or excluding specific PRs. Exactly one field must be set.

FieldTypeDescription
include[PullRequestInput!]Add these PRs to the base set.
exclude[PullRequestInput!]Remove these PRs from the base set.
PullRequestStateFilter
FieldTypeDescription
_eqPullRequestState
_neqPullRequestState
_in[PullRequestState!]
_nin[PullRequestState!]
RecipeBundleInput
FieldTypeDescription
mavenMavenRecipeBundleInput
npmNpmRecipeBundleInput
nugetNugetRecipeBundleInput
yamlYamlRecipeBundleInput
pipPipRecipeBundleInput
goGoRecipeBundleInput
RecipeBundleOrderByInput
FieldTypeDescription
fieldRecipeBundleOrderByField!
directionSortOrder!
RecipeBundleWhereInput

Filter input for RecipeBundle queries.

FieldTypeDescription
packageNameStringFilterFilter by package name (e.g., "org.openrewrite:rewrite-java").
versionStringFilterFilter by resolved version.
requestedVersionStringFilterFilter by requested version (the version requested before resolution).
ecosystemRecipeEcosystemFilterFilter by ecosystem.
_and[RecipeBundleWhereInput!]
_or[RecipeBundleWhereInput!]
_notRecipeBundleWhereInput
RecipeCategoryOrderByInput
FieldTypeDescription
fieldRecipeCategoryOrderByField!
directionSortOrder!
RecipeCategoryWhereInput

Filter input for RecipeCategory queries.

FieldTypeDescription
idIDFilterFilter by category ID.
parentIdIDFilterFilter by parent category ID. Use null to find root categories.
displayNameStringFilterFilter by display name.
_and[RecipeCategoryWhereInput!]
_or[RecipeCategoryWhereInput!]
_notRecipeCategoryWhereInput
RecipeEcosystemFilter
FieldTypeDescription
_eqRecipeEcosystem
_neqRecipeEcosystem
_in[RecipeEcosystem!]
_nin[RecipeEcosystem!]
RecipeInput
FieldTypeDescription
idID!Fully-qualified recipe ID. Example: org.openrewrite.java.search.FindMethods
options[RecipeOptionInput!]
RecipeInstallationOrderByInput
FieldTypeDescription
fieldRecipeInstallationOrderByField!
directionSortOrder!
RecipeInstallationStatusFilter
FieldTypeDescription
_eqRecipeInstallationStatus
_neqRecipeInstallationStatus
_in[RecipeInstallationStatus!]
_nin[RecipeInstallationStatus!]
RecipeInstallationWhereInput
FieldTypeDescription
idIDFilter
statusRecipeInstallationStatusFilter
startedAtDateTimeFilter
userUserWhereInput
organizationIDFilter
bundleRecipeBundleWhereInputFilter by bundle properties (packageName, ecosystem, version, etc.).
_and[RecipeInstallationWhereInput!]
_or[RecipeInstallationWhereInput!]
_notRecipeInstallationWhereInput
RecipeOptionInput
FieldTypeDescription
nameString!Option name. Example: methodPattern
valueObject!Option value. Example: java.util.List add(..)
RecipeOrderByInput
FieldTypeDescription
fieldRecipeOrderByField!
directionSortOrder!
RecipeWhereInput

Filter input for Recipe queries. Use query for semantic search, or use field filters for exact matching.

FieldTypeDescription
queryStringSemantic search query - searches recipe names, descriptions, and content.
idStringFilterFilter by recipe ID (fully qualified recipe name).
displayNameStringFilterFilter by display name.
_and[RecipeWhereInput!]
_or[RecipeWhereInput!]
_notRecipeWhereInput
RepositoryChangesetOrderByInput
FieldTypeDescription
fieldRepositoryChangesetOrderByField!
directionSortOrder!
RepositoryChangesetStateFilter
FieldTypeDescription
_eqRepositoryChangesetState
_neqRepositoryChangesetState
_in[RepositoryChangesetState!]
_nin[RepositoryChangesetState!]
RepositoryChangesetWhereInput

Filter for repository changesets.

FieldTypeDescription
pathStringFilterFilter by repository path.
originStringFilterFilter by repository origin.
branchStringFilterFilter by repository branch.
filesFileChangeWhereInputFilter files within matching repositories. Useful for filtering to specific file patterns (e.g., all build.gradle.kts files).
onlyWithResultsBooleanOnly return repositories with results (filesWithResults > 0).
stateRepositoryChangesetStateFilterFilter by repository result state.
_and[RepositoryChangesetWhereInput!]Logical AND - all conditions must match.
_or[RepositoryChangesetWhereInput!]Logical OR - at least one condition must match.
_notRepositoryChangesetWhereInputLogical NOT - negates the condition.
RepositoryCommitOrderByInput
FieldTypeDescription
fieldRepositoryCommitOrderByField!
directionSortOrder!
RepositoryCommitWhereInput

Filter input for repository-level commit queries.

FieldTypeDescription
_and[RepositoryCommitWhereInput!]
_or[RepositoryCommitWhereInput!]
_notRepositoryCommitWhereInput
RepositoryInput
FieldTypeDescription
originString!
pathString!
branchString!
RepositoryOrderByInput
FieldTypeDescription
fieldRepositoryOrderByField!
directionSortOrder!
RepositoryRecipeRunOrderByInput
FieldTypeDescription
fieldRepositoryRecipeRunOrderByField!
directionSortOrder!
RepositoryRecipeRunWhereInput
FieldTypeDescription
pathStringFilter
originStringFilter
_and[RepositoryRecipeRunWhereInput!]
_or[RepositoryRecipeRunWhereInput!]
_notRepositoryRecipeRunWhereInput
RepositoryWhereInput

Filter input for Repository queries using typed field filters.

FieldTypeDescription
originStringFilter
pathStringFilter
branchStringFilter
changesetStringFilter
lstArtifactLstArtifactWhereInput
_and[RepositoryWhereInput!]Logical AND - all conditions must match
_or[RepositoryWhereInput!]Logical OR - at least one condition must match
_notRepositoryWhereInputLogical NOT - negates the condition
ReviewDecisionFilter
FieldTypeDescription
_eqReviewDecision
_neqReviewDecision
_in[ReviewDecision!]
_nin[ReviewDecision!]
RevokeScmTokenInput
FieldTypeDescription
originString!The VCS origin to revoke the token for (e.g., github.com, gitlab.com).
RunDevCenterInput
FieldTypeDescription
organizationIdID!The organization to run DevCenter for.
recipeIdID!The DevCenter recipe to run.
RunRecipeInput
FieldTypeDescription
recipeRecipeInput!The recipe to run with any configured options.
organizationIdID!Run against all repositories in this organization.
parentIdIDOptional parent changeset ID this recipe run is derived from.
excludeFiles[String!]Exclude files matching these patterns.
ScmAccessToken

An access token for a specific SCM origin. When provided on a commit mutation, these tokens are preferred over stored OAuth tokens.

FieldTypeDescription
valueString!
originString!
StringFilter
FieldTypeDescription
_eqString
_neqString
_in[String!]
_nin[String!]
_containsString
_startsWithString
_endsWithString
_icontainsStringCase-insensitive contains
_isNullBooleanTrue to match null values, false to match non-null values
UpdateUserOrganizationInput
FieldTypeDescription
idID!The ID of the organization to update.
nameStringThe new name for the organization.
repositories[RepositoryInput!]Repositories to include in the organization. If provided, replaces the current list.
UserOrderByInput
FieldTypeDescription
fieldUserOrderByField!
directionSortOrder!
UserWhereInput
FieldTypeDescription
emailStringFilter
_and[UserWhereInput!]
_or[UserWhereInput!]
_notUserWhereInput
VisualizationOptionInput
FieldTypeDescription
nameString!
valueObject!
VisualizationOrderByInput
FieldTypeDescription
fieldVisualizationOrderByField!
directionSortOrder!
VisualizationWhereInput
FieldTypeDescription
idIDFilter
visualizationStringFilter
_and[VisualizationWhereInput!]
_or[VisualizationWhereInput!]
_notVisualizationWhereInput
YamlRecipeBundleInput
FieldTypeDescription
yamlBase64!
primaryIDThe ID of the primary recipe in this bundle. When specified, only this recipe will be shown in the marketplace categories, hiding other recipes from this bundle. This is used for the Moderne Builder feature where users build complex composite recipes and we don't want to expose intermediate recipes in the marketplace.

Unions

ConnectorTool

= GithubConfiguration | GitLabConfiguration | BitbucketConfiguration | BitbucketCloudConfiguration | AzureDevOpsConfiguration | ArtifactoryConfiguration | MavenConfiguration | PypiConfiguration | NpmConfiguration | NugetConfiguration | GenericHttpToolConfiguration | OrganizationConfiguration | LlmConfiguration | S3Configuration

Scalars

Base64

Base64 represents a base64 encoded string. In the browser, btoa encodes ASCII strings to Base64.

Date
DateTime
Duration
JSON
Long
Markdown

Contents may contain Markdown, HTML, or other text and should be passed through a Markdown parser by consumers

Object
Path

A file path relative to repository root (e.g., "src/main/java/Foo.java").