This page is auto-generated from the Moderne GraphQL schema. Do not edit manually.
Download schema (SDL)
Queries
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.
changelogBulkPullRequestAction
changelogBulkPullRequestAction(id: ID!): ChangelogBulkPullRequestAction
Returns: ChangelogBulkPullRequestAction
Get a bulk pull request action by ID to poll for progress.
codeSearchSession
codeSearchSession(id: ID!): CodeSearchSession
Returns: CodeSearchSession
One of the caller's code search sessions, or null when they have none with this id.
Poll it after openCodeSearchSession until it is a CodeSearchSessionReady.
codeSearchSessions
codeSearchSessions(first: Int = 50, after: String, where: CodeSearchSessionWhereInput): CodeSearchSessionConnection!
Returns: CodeSearchSessionConnection!
The caller's code search sessions, newest first, including those that closed recently.
An admin gets every user's sessions and can narrow them with where.user.
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
Returns: User!
Returns the currently authenticated user.
devCenterRecipes
devCenterRecipes: [RecipeDescriptor!]!
Returns: [RecipeDescriptor!]!
Get available DevCenter recipes for configuration.
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
approveChangelogPullRequests
approveChangelogPullRequests(organizationId: ID!, selection: PullRequestSelectionInput!): ChangelogBulkPullRequestActionQueued!
Returns: ChangelogBulkPullRequestActionQueued!
Approve pull requests in bulk. Returns the queued action for polling.
approvePullRequests
approvePullRequests(organizationId: ID!, changesetId: ID!, commitId: ID, repositories: [RepositoryInput!]): BulkPullRequestActionQueued!
Returns: BulkPullRequestActionQueued!
Approve, in bulk, the pull requests the committer created from a changeset.
Pass commitId and/or repositories to limit the action to one commit job
or a subset of the changeset's repositories; omit both to target every pull
request in the changeset. Returns the queued action for polling (also
surfaces under OrganizationChangeset.bulkPullRequestActions).
cancelBulkPullRequestAction
cancelBulkPullRequestAction(id: ID!): BulkPullRequestActionCanceled!
Returns: BulkPullRequestActionCanceled!
Cancel a pending bulk pull request action.
cancelChangelogBulkPullRequestAction
cancelChangelogBulkPullRequestAction(id: ID!): ChangelogBulkPullRequestActionCanceled!
Returns: ChangelogBulkPullRequestActionCanceled!
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. Admin-only — an organization prompt steers Moddy for every member of that org.
clearUserPrompt
clearUserPrompt: Boolean!
Returns: Boolean!
Clear the current user's prompt override, falling back to organization or universal.
closeChangelogPullRequests
closeChangelogPullRequests(organizationId: ID!, selection: PullRequestSelectionInput!): ChangelogBulkPullRequestActionQueued!
Returns: ChangelogBulkPullRequestActionQueued!
Close pull requests in bulk. Returns the queued action for polling.
closeCodeSearchSession
closeCodeSearchSession(id: ID!): CodeSearchSession!
Returns: CodeSearchSession!
Close a session, which only the user who opened it or an admin can do. An
organization's index is released once its last session closes. A session that goes
too long without a search closes on its own.
closePullRequests
closePullRequests(organizationId: ID!, changesetId: ID!, commitId: ID, repositories: [RepositoryInput!], deleteSourceBranch: Boolean! = false): BulkPullRequestActionQueued!
Returns: BulkPullRequestActionQueued!
Close, in bulk, the pull requests the committer created from a changeset.
Returns the queued action for polling.
codeSearch
codeSearch(sessionId: ID!, query: String!, first: Int = 100, after: String): CodeSearchResultConnection!
Returns: CodeSearchResultConnection!
Search a ready session. Fails, saying why, on a session that is still preparing or is
closed. Results are files with their matching lines, limited to repositories the
caller can read, in a stable order that after resumes.
The query is a Sourcegraph-style expression: plain text and /regular expressions/,
combined with AND, OR and NOT, and narrowed by path and language with file:
and lang:. The index is built from LSTs, so the other filters match resolved types
rather than text: call: (the call sites of a method, such as
call:java.util.List.add, calls on subtypes included), ref: (the uses of a type),
dependency: (the calls and references that come from a dependency, by name and
optionally the version resolved, such as dependency:com.fasterxml.*:jackson*:2.15.x),
sym: (a declared name), and extends:, implements:, annotated:, returns: and
throws: (declarations).
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.
mergeChangelogPullRequests
mergeChangelogPullRequests(organizationId: ID!, selection: PullRequestSelectionInput!, mergeMethod: MergeMethod!, deleteSourceBranch: Boolean! = false): ChangelogBulkPullRequestActionQueued!
Returns: ChangelogBulkPullRequestActionQueued!
Merge pull requests in bulk. Returns the queued action for polling.
mergePullRequests
mergePullRequests(organizationId: ID!, changesetId: ID!, commitId: ID, repositories: [RepositoryInput!], mergeMethod: MergeMethod!, deleteSourceBranch: Boolean! = false): BulkPullRequestActionQueued!
Returns: BulkPullRequestActionQueued!
Merge, in bulk, the pull requests the committer created from a changeset.
Returns the queued action for polling.
openCodeSearchSession
openCodeSearchSession(organizationId: ID!): CodeSearchSession!
Returns: CodeSearchSession!
Open a session for searching the code of an organization's repositories. The session
starts as a CodeSearchSessionPreparing while the organization's LSTs are downloaded
and indexed, which takes from seconds, when another session prepared the organization
recently, to much longer for an organization seen for the first time.
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.
Admin-only: that re-fetch and re-enrichment is expensive and its
enrichment calls hit SCM REST APIs (pull-request and build-state
lookups), so this must not be reachable by unauthenticated or non-admin
callers.
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). Admin-only — an organization prompt steers Moddy for every member of that org.
setProfiling
setProfiling(enabled: Boolean!, event: ProfilingEvent = WALL): 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 WALL); 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. Admin-only — the universal prompt steers Moddy tenant-wide.
setUserPrompt
setUserPrompt(content: Markdown!): Prompt!
Returns: Prompt!
Set the system prompt for the current user (overrides organization and universal).
uninstallRecipesFromCurrentUser
uninstallRecipesFromCurrentUser(by: RecipeUninstallSelector!): RecipeUninstallation!
Returns: RecipeUninstallation!
Uninstall a bundle from the current user's personal marketplace, identified by
package name or by a recipe id it provides (see RecipeUninstallSelector).
Returns the number of recipes removed (0 if nothing matched).
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
| Field | Type | Description |
|---|
id | ID! | The unique identifier for the access token. This is not the same as the token itself. |
description | String | Optional description of the token. Useful for distinguishing between multiple tokens. |
created | DateTime! | The date and time the token was created. |
expiresAt | DateTime | The date and time the token will expire. |
AccessTokenConnection
AccessTokenEdge
Agent
One coding agent working on a changeset through mod <agent> chat --changeset. The only
thing in a changeset with a lifecycle: a revision lands or is refused, and a changeset never
learns whether another agent will join.
| Field | Type | Description |
|---|
id | ID! | |
name | String | The name the agent signed the team's roster with. Null until it signs. |
specializations | [String!]! | Deprecated: The roster no longer carries specializations. Always empty. |
codingAgent | CodingAgent! | |
user | User! | |
prompt | String | |
startedAt | DateTime! | |
finishedAt | DateTime | Null while the agent is working. One whose tool went silent for 15 minutes without saying it ended, say on a machine that died, finished when it was last heard from, and is CANCELED. |
status | AgentStatus! | |
revisions | [RepositoryChangeset!]! | What the agent pushed, in the order it landed; each is a RepositoryRevision. Empty for an agent that changed nothing. |
transcript | (first: Int = 100, after: String, where: TranscriptWhereInput): TranscriptConnection! | The agent's work as spans: what it did, when, and what it cost, never what it read or wrote. The agent's own transcript is never kept. Empty until the agent exits and the wrapper uploads it. |
transcriptExport | TranscriptExport | The same spans as one OTLP JSON download. Null until the wrapper uploads them. |
AgentTeamReview
| Field | Type | Description |
|---|
id | ID! | |
name | String | What the team called itself on the message board. Null until it has. |
agents | [Agent!]! | Every agent that joined the changeset, oldest first. An agent is on the list from the moment it joins, so one that changed nothing is still on record. |
messageBoard | MessageBoard! | |
marketplace | RecipeMarketplace | The recipes the team fixed or wrote, as the recipe repositories the changeset holds. Null while it holds none. |
ArtifactoryConfiguration
| Field | Type | Description |
|---|
resourceId | String! | |
skipSsl | Boolean! | |
skipValidateConnectivity | Boolean! | |
connectivity | HttpToolConnectivity! | |
lstQuery | [String!] | |
lastIngestedAt | DateTime | |
AuditLogsDownloadConnection
AuditLogsDownloadEdge
AuditLogsDownloadError
Implements: AuditLogsDownload
An audit log download failed.
AuditLogsDownloadFinished
Implements: AuditLogsDownload
An audit log download has completed successfully.
AuditLogsDownloadProcessing
Implements: AuditLogsDownload
An audit log download is being processed.
AzureDevOpsConfiguration
AzureDevOpsConnection
Implements: ScmConnection
| Field | Type | Description |
|---|
resourceId | String! | |
isAuthorized | Boolean! | |
tokens | [ScmTokenInfo!]! | |
AzureDevOpsOauth
| Field | Type | Description |
|---|
clientId | String! | |
tenantId | String! | |
BitbucketCloudConfiguration
BitbucketCloudConnection
Implements: ScmConnection
| Field | Type | Description |
|---|
resourceId | String! | |
isAuthorized | Boolean! | |
tokens | [ScmTokenInfo!]! | |
BitbucketCloudOauth
| Field | Type | Description |
|---|
clientId | String! | |
BitbucketConfiguration
BitbucketConnection
Implements: ScmConnection
| Field | Type | Description |
|---|
resourceId | String! | |
isAuthorized | Boolean! | |
tokens | [ScmTokenInfo!]! | |
BitbucketOauth
| Field | Type | Description |
|---|
clientId | String! | |
BranchCommitOptions
Implements: CommitOptions
| Field | Type | Description |
|---|
branchName | String | |
BulkPullRequestActionCanceled
Implements: BulkPullRequestAction
BulkPullRequestActionConnection
BulkPullRequestActionEdge
BulkPullRequestActionError
Implements: BulkPullRequestAction
BulkPullRequestActionFinished
Implements: BulkPullRequestAction
BulkPullRequestActionQueued
Implements: BulkPullRequestAction
BulkPullRequestActionRunning
Implements: BulkPullRequestAction
ChangelogBulkPullRequestActionCanceled
Implements: ChangelogBulkPullRequestAction
ChangelogBulkPullRequestActionConnection
ChangelogBulkPullRequestActionEdge
ChangelogBulkPullRequestActionError
Implements: ChangelogBulkPullRequestAction
ChangelogBulkPullRequestActionFinished
Implements: ChangelogBulkPullRequestAction
ChangelogBulkPullRequestActionQueued
Implements: ChangelogBulkPullRequestAction
ChangelogBulkPullRequestActionRunning
Implements: ChangelogBulkPullRequestAction
ChangelogCommit
Implements: ChangelogEntry
A direct commit to a branch.
ChangelogEntryConnection
ChangelogEntryEdge
ChangelogParticipantConnection
ChangelogParticipantEdge
ChangelogPullRequest
Implements: ChangelogEntry
A pull request (open, draft, merged, or closed).
ChangelogPullRequestActionCanceled
Implements: ChangelogPullRequestAction
ChangelogPullRequestActionConnection
ChangelogPullRequestActionEdge
ChangelogPullRequestActionFailed
Implements: ChangelogPullRequestAction
ChangelogPullRequestActionQueued
Implements: ChangelogPullRequestAction
ChangelogPullRequestActionRunning
Implements: ChangelogPullRequestAction
ChangelogPullRequestActionSucceeded
Implements: ChangelogPullRequestAction
ChangelogPullRequestRef
| Field | Type | Description |
|---|
origin | String! | |
repositoryPath | String! | |
branch | String! | The pull request's source branch. |
number | Int! | |
ChangeParticipant
A participant identity from the VCS provider. Not necessarily a Moderne user.
| Field | Type | Description |
|---|
name | String | Display name. |
email | String | Email address. |
username | String | Username/login on the VCS provider. |
avatarUrl | String | Avatar URL from the VCS provider. |
roles | [ContributorRole!]! | The roles this participant has across changelog entries. |
ChangesetInstallScope
The installation is a recipe repository kept with a changeset, in effect for that changeset alone.
| Field | Type | Description |
|---|
changesetId | ID! | |
CliDownloadInstructionLink
| Field | Type | Description |
|---|
label | String! | |
uri | String! | |
CodeSearchContextLine
| Field | Type | Description |
|---|
lineNumber | Int! | |
line | String! | |
CodeSearchFragment
The part of a line that matched.
| Field | Type | Description |
|---|
offset | Int! | In characters from the start of the line. |
length | Int! | |
CodeSearchLineMatch
CodeSearchResult
A file with at least one match.
| Field | Type | Description |
|---|
repository | Repository! | |
path | Path! | |
language | String | |
lineMatches | [CodeSearchLineMatch!]! | Empty when the query selects files rather than lines, as select:file does. |
CodeSearchResultConnection
| Field | Type | Description |
|---|
edges | [CodeSearchResultEdge!]! | |
pageInfo | PageInfo! | A page can come back short, or empty, with hasNextPage still true: the search ran out of time before filling it. endCursor is then where to resume. |
warnings | [String!]! | What to know about how the query was read or how far the search got, such as a filter that is not supported. |
CodeSearchResultEdge
CodeSearchSessionClosed
Implements: CodeSearchSession
CodeSearchSessionConnection
CodeSearchSessionEdge
CodeSearchSessionPreparing
Implements: CodeSearchSession
The organization is being made ready to search. Sessions for the same organization share
this work, and organizations are prepared one at a time.
CodeSearchSessionReady
Implements: CodeSearchSession
The session can be searched.
| Field | Type | Description |
|---|
id | ID! | |
organization | Organization! | |
user | User! | |
instance | String! | |
startedAt | DateTime! | |
repositoryCount | Int! | How many repositories the organization has. |
indexedRepositoryCount | Int! | How many of them are in the index. The rest have no LST, or one that could not be downloaded or indexed, and a search does not cover them. |
Column
| Field | Type | Description |
|---|
name | String! | |
displayName | String! | |
description | String! | |
type | String! | |
Connector
ConnectorConnection
ConnectorEdge
| Field | Type | Description |
|---|
node | Connector! | |
cursor | String! | |
Conversation
ConversationConnection
ConversationEdge
ConversationTurnState
Represents the current phase of the conversation's active turn (if any).
Drives client poll cadence.
| Field | Type | Description |
|---|
phase | ConversationPhase! | |
recommendedPollIntervalMs | Int! | Server-recommended poll interval in milliseconds. |
activeTurnStartedAt | DateTime | When the currently-active turn started, if any. |
CreateAccessTokenResult
Result of creating a new access token.
The token value is only available in this response.
| Field | Type | Description |
|---|
id | ID! | The unique identifier for the token. Use this ID for revocation. |
token | String! | The actual token value. Store this securely - it cannot be retrieved again. |
description | String | The description provided when creating the token. |
created | DateTime! | When the token was created. |
expiresAt | DateTime | When 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.
| Field | Type | Description |
|---|
id | ID! | |
dataTable | DataTableDescriptor! | |
instanceName | String! | |
group | String | |
changesetId | ID! | |
DataTableConnection
DataTableDescriptor
| Field | Type | Description |
|---|
name | String! | |
displayName | String! | |
description | String! | |
columns | [Column!]! | |
DataTableEdge
| Field | Type | Description |
|---|
node | DataTable! | |
cursor | String! | |
DataTableError
Implements: DataTable
A data table download failed.
DataTableFinished
Implements: DataTable
A data table download has completed successfully.
| Field | Type | Description |
|---|
id | ID! | |
dataTable | DataTableDescriptor! | |
instanceName | String! | |
group | String | |
format | DataTableFormat! | |
changesetId | ID! | |
startedAt | DateTime! | |
finishedAt | DateTime! | |
duration | Duration | |
downloadUrl | String! | URL path to download the file (relative to the service base URL). It is signed, so it also downloads without an Authorization header for 15 minutes after it is read. Append saveAs=<name> to set the saved file name. |
DataTableProcessing
Implements: DataTable
A data table download is being processed.
DataTableQueued
Implements: DataTable
A data table download is waiting for a worker to pick it up.
DataTablesMessage
Implements: Message
DataTableSqlMessage
Implements: Message
DevCenter
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.
| Field | Type | Description |
|---|
displayName | Markdown! | Display name of the card. |
description | Markdown | Description of what this card tracks. |
fixRecipe | RecipeDescriptor | Recipe that can fix/complete the work tracked by this card. |
aggregation | DevCenterAggregation! | How results are aggregated for this card. |
measures | [DevCenterMeasure!]! | Measures within this card, ordered by ordinal. |
repositoriesNotApplicable | Int! | Repositories where this card is not applicable. |
DevCenterCardDescriptor
DevCenterMeasure
A measure within a DevCenter card representing a specific state or finding,
with a count from the run results.
| Field | Type | Description |
|---|
displayName | Markdown! | Display name of the measure. |
description | Markdown | Description of what this measure represents. |
ordinal | Int! | Sort order relative to other measures in the card. |
count | Int! | 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.
DevCenterOrganization
Organization-level context from a DevCenter run.
| Field | Type | Description |
|---|
repositories | DevCenterRepositories! | Repository counts at the time of the run. |
contributingDevelopers | Int! | Number of unique contributing developers (last 90 days). |
linesOfCode | Long! | Total lines of code across all repositories on platform. |
DevCenterRepositories
Repository counts from a DevCenter run.
| Field | Type | Description |
|---|
total | Int! | Total repositories defined in the organization at the time of the run. |
repositoriesWithoutLst | Int! | Repositories with no LST ingested at the time of the run. |
DevCenterRunCanceled
Implements: DevCenterRun
DevCenter run was canceled before completion.
DevCenterRunConnection
DevCenterRunEdge
DevCenterRunError
Implements: DevCenterRun
DevCenter run failed with an error.
DevCenterRunFinished
Implements: DevCenterRun
DevCenter run completed successfully with summarized results.
DevCenterRunRunning
Implements: DevCenterRun
DevCenter recipe is currently running across repositories.
DiffBlameRange
Consecutive lines on one side of a diff that one change made what they are: removed them,
or wrote them and kept them through every change since.
| Field | Type | Description |
|---|
side | DiffSide! | BEFORE for removed lines, numbered as in the base commit; AFTER for added lines, numbered as in the revision. The numbers in the diff's hunk headers. |
startingLine | Int! | |
endingLine | Int! | |
change | RepositoryChangeset! | A RepositoryRevision, or the recipe run's result. |
DiffStat
Aggregate line-level diff statistics.
| Field | Type | Description |
|---|
additions | Int! | Total lines added. |
deletions | Int! | Total lines removed. |
DirectCommitSucceeded
Implements: RepositoryCommitSucceeded, RepositoryCommit
Direct commit to repository completed successfully.
ErrorMessage
Implements: Message
| Field | Type | Description |
|---|
id | ID! | |
user | User! | |
content | Markdown! | |
code | String | Stable 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. |
state | MessageState! | |
lastUpdatedAt | DateTime! | |
ExchangeAuthorizationResult
Result of exchanging an authorization code.
| Field | Type | Description |
|---|
success | Boolean! | True if the exchange was successful and token was stored. |
error | String | Error message if exchange failed. |
FileChangeConnection
Connection for file changes with aggregate statistics.
| Field | Type | Description |
|---|
edges | [FileChangeEdge!]! | |
pageInfo | PageInfo! | |
count | Int! | |
searched | Int! | Total files searched. |
changed | Int! | Files with committable changes. |
errors | Int! | Files with errors. |
FileChangeEdge
ForkAndPullRequestCommitSucceeded
Implements: RepositoryCommitSucceeded, RepositoryCommit
Fork and pull request commit completed successfully.
| Field | Type | Description |
|---|
repository | Repository! | |
startedAt | DateTime! | |
finishedAt | DateTime! | |
resultLink | String | |
pullRequestStatus | PullRequestStatus! | Pull request status, resolved live from the SCM on read (one SCM request per open PR). |
ForkCommitOptions
Implements: CommitOptions
| Field | Type | Description |
|---|
branchName | String | |
organization | String | If set, the fork will be created in this organization. Otherwise, the fork will be created in the user's personal account. |
prefixOrganization | Boolean! | |
ForkCommitSucceeded
Implements: RepositoryCommitSucceeded, RepositoryCommit
Fork commit completed successfully.
ForkPullRequestOptions
Implements: CommitOptions
| Field | Type | Description |
|---|
branchName | String | |
organization | String | If set, the fork will be created in this organization. Otherwise, the fork will be created in the user's personal account. |
prefixOrganization | Boolean! | |
pullRequestTitle | String | If unset, the commit message will be used as the pull request title. |
pullRequestBody | Base64 | |
draft | Boolean! | |
maintainerCanModify | Boolean! | GitHub only flag to allow maintainers to edit a pull request. |
autoMergeMethod | MergeMethod | If allowed by the repository, set the pull request to automatically merge after all checks pass using the defined strategy. |
canRecreateClosedPullRequest | Boolean! | Recreate a pull request if it was already closed. |
| Field | Type | Description |
|---|
resourceId | String! | |
skipSsl | Boolean! | |
skipValidateConnectivity | Boolean! | |
connectivity | HttpToolConnectivity! | |
GithubConfiguration
| Field | Type | Description |
|---|
resourceId | String! | |
skipSsl | Boolean! | |
skipValidateConnectivity | Boolean! | |
allowableOrganizations | [String!]! | |
connectivity | HttpToolConnectivity! | |
oauth | GithubOauth | |
GithubConnection
Implements: ScmConnection
| Field | Type | Description |
|---|
resourceId | String! | |
isAuthorized | Boolean! | |
tokens | [ScmTokenInfo!]! | |
GithubOauth
| Field | Type | Description |
|---|
clientId | String! | |
includePrivateRepos | Boolean! | |
GitLabConfiguration
GitLabConnection
Implements: ScmConnection
| Field | Type | Description |
|---|
resourceId | String! | |
isAuthorized | Boolean! | |
tokens | [ScmTokenInfo!]! | |
GitLabOauth
| Field | Type | Description |
|---|
clientId | String! | |
GitRecipeBundle
Implements: RecipeBundle
A recipe repository kept with a changeset, where the agents working on the changeset fix and
add recipes.
| Field | Type | Description |
|---|
packageName | String! | The repository's name, such as rewrite-migrate-java. |
requestedVersion | String | |
version | String | The commit the repository's branch stands at. |
recipeCount | Int | |
cloneUrl | String! | What git clone takes, with the credentials the changeset's other remotes take. |
branch | String! | The repository's one branch, which is named for the changeset. |
upstreamUrl | String | The upstream repository the branch came from, as its first push said. Null when it did not say, or the repository has no upstream. |
baseCommit | String | The upstream commit the branch started at, an ancestor of every commit the branch has stood at: git log <baseCommit>..<branch> is what the changeset added, with any newer upstream commits a session pulled in. Null when upstreamUrl is. |
GoConfiguration
| Field | Type | Description |
|---|
resourceId | String! | |
skipSsl | Boolean! | |
skipValidateConnectivity | Boolean! | |
connectivity | HttpToolConnectivity! | |
GoRecipeBundle
Implements: RecipeBundle
| Field | Type | Description |
|---|
packageName | String! | |
requestedVersion | String | |
version | String | |
recipeCount | Int | |
| Field | Type | Description |
|---|
connected | Boolean! | |
latency | Duration | |
License
| Field | Type | Description |
|---|
key | String | |
LlmConfiguration
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.
| Field | Type | Description |
|---|
published | DateTime | When mod publish produced an artifact into the customer's LST artifact repository, or null if no artifact has been published. A non-null published does NOT mean the artifact is reachable for a recipe run - that signal lives on available. |
available | Boolean! | Whether the artifact is reachable for a recipe run: true when the row has a non-empty publishUri and no enrichFailedReason. A failed enrichment preserves the publishUri as a diagnostic, so it is not evidence of reachability; and a row whose LST has not been ingested yet arrives here with its publishUri already withheld by the gateway projection. |
enrichFailedReason | String | When the connector failed to enrich this row, the free-form reason it recorded; null otherwise. |
Markup
Implements: Marker
| Field | Type | Description |
|---|
id | ID! | |
level | MarkupLevel! | |
message | String | |
detail | String | |
MavenConfiguration
| Field | Type | Description |
|---|
resourceId | String! | |
skipSsl | Boolean! | |
skipValidateConnectivity | Boolean! | |
connectivity | HttpToolConnectivity! | |
localRepository | String | |
lastIngestedAt | DateTime | |
artifactSource | Boolean! | True when this repo is polled for LST artifacts. |
recipeSource | Boolean! | True when this repo feeds recipes to the marketplace. |
MavenRecipeBundle
Implements: RecipeBundle
| Field | Type | Description |
|---|
packageName | String! | |
groupId | String! | |
artifactId | String! | |
requestedVersion | String | |
version | String | |
recipeCount | Int | |
MergeOptions
| Field | Type | Description |
|---|
deleteSourceBranch | Boolean! | |
mergeMethod | MergeMethod! | |
MessageBoard
The git repository the team talks in: a message is a file, in a directory named for its topic.
| Field | Type | Description |
|---|
cloneUrl | String! | What git clone takes. It authenticates like the changeset's other remotes. |
pdfUrl | String! | The whole board as one PDF, rendered when the link is opened. The link is signed, so it needs no Authorization header, and it expires 15 minutes after it is handed out. |
topics | [String!]! | The topics, in the order each was first posted to. |
messages | (first: Int = 100, after: String, where: MessageBoardMessageWhereInput): MessageBoardMessageConnection! | The messages in the order they were posted. |
MessageBoardMessage
| Field | Type | Description |
|---|
id | ID! | |
topic | String! | |
postedAt | DateTime! | |
message | Markdown! | |
agent | Agent | The agent that posted it. Null for a message from outside any agent's work, such as one from a person steering the team. |
MessageBoardMessageConnection
MessageBoardMessageEdge
MessageConnection
MessageEdge
| Field | Type | Description |
|---|
node | Message! | |
cursor | String! | |
Moddy
| Field | Type | Description |
|---|
systemPrompt | Prompt! | The effective system prompt for this context. Cascades: user > organization > universal > built-in default. |
adminOnly | Boolean! | 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! | |
providerName | String | Human-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). |
model | String | Configured model identifier (e.g. "claude-opus-5-5"). Null when no provider is configured or the provider is configured without a model override. |
MoreHelpLink
| Field | Type | Description |
|---|
label | String! | |
uri | String! | |
NpmConfiguration
| Field | Type | Description |
|---|
resourceId | String! | |
skipSsl | Boolean! | |
skipValidateConnectivity | Boolean! | |
connectivity | HttpToolConnectivity! | |
NpmRecipeBundle
Implements: RecipeBundle
| Field | Type | Description |
|---|
packageName | String! | |
requestedVersion | String | |
version | String | |
recipeCount | Int | |
NugetConfiguration
| Field | Type | Description |
|---|
resourceId | String! | |
skipSsl | Boolean! | |
skipValidateConnectivity | Boolean! | |
connectivity | HttpToolConnectivity! | |
NugetRecipeBundle
Implements: RecipeBundle
| Field | Type | Description |
|---|
packageName | String! | |
requestedVersion | String | |
version | String | |
recipeCount | Int | |
OAuthAuthorization
Represents a pending OAuth authorization.
The UI should redirect to authorizationUrl, then call exchangeAuthorizationCode
with the id and extracted callback parameters.
| Field | Type | Description |
|---|
id | ID! | Unique ID for this authorization attempt. Used to look up stored PKCE state at exchange time. |
authorizationUrl | String! | 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"]). |
expiresAt | DateTime! | 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).
| Field | Type | Description |
|---|
name | String! | |
value | Object | |
type | String! | |
displayName | String! | |
description | String! | |
example | String | |
valid | [String] | |
required | Boolean! | |
Organization
| Field | Type | Description |
|---|
id | ID! | |
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!]! | Commit options available in this tenant. |
changesets | (first: Int = 50, after: String, before: String, where: OrganizationChangesetWhereInput, orderBy: [OrganizationChangesetOrderByInput!]): OrganizationChangesetConnection! | |
devCenter | DevCenter | DevCenter provides organization-wide campaign progress tracking. |
moddy | Moddy! | |
name | String! | |
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. |
user | User | The 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. |
marketplace | RecipeMarketplace | |
OrganizationChangesetConnection
OrganizationChangesetEdge
| Field | Type | Description |
|---|
node | OrganizationChangeset! | |
cursor | String! | |
organization | Organization | The 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.
OrganizationCommitConnection
OrganizationCommitEdge
OrganizationCommitError
Implements: OrganizationCommit
Commit failed with an error.
OrganizationCommitFinished
Implements: OrganizationCommit
Commit completed successfully (all or partial success).
OrganizationCommitQueued
Implements: OrganizationCommit
Commit is queued and waiting to be processed.
OrganizationCommitRunning
Implements: OrganizationCommit
Commit is actively being processed across repositories.
OrganizationConfiguration
| Field | Type | Description |
|---|
resourceId | String! | |
skipSsl | Boolean! | |
skipValidateConnectivity | Boolean! | |
connectivity | HttpToolConnectivity! | |
OrganizationConnection
OrganizationEdge
OrganizationInstallScope
The installation lives in a specific organization's marketplace.
OrganizationRecipeRunCanceled
Implements: OrganizationChangeset, OrganizationRecipeRun
| Field | Type | Description |
|---|
id | ID! | |
name | String! | |
recipe | RecipeDescriptor | |
user | User! | |
options | [RecipeOptionValue!]! | |
createdAt | DateTime! | |
lastUpdatedAt | DateTime! | 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. |
priority | RecipeRunPriority! | |
review | AgentTeamReview | |
startedAt | DateTime | |
finishedAt | DateTime! | |
canceledAt | DateTime! | 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. |
changelogBulkPullRequestActions | (first: Int = 50, after: String, where: ChangelogBulkPullRequestActionWhereInput, orderBy: [ChangelogBulkPullRequestActionOrderByInput!]): ChangelogBulkPullRequestActionConnection! | 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!]): OrganizationCommitConnection | Commit operations initiated from this changeset. |
bulkPullRequestActions | (first: Int = 50, after: String, where: BulkPullRequestActionWhereInput, orderBy: [BulkPullRequestActionOrderByInput!]): BulkPullRequestActionConnection! | Bulk pull request actions (approve, merge, close) launched from this changeset. |
OrganizationRecipeRunConnection
OrganizationRecipeRunEdge
OrganizationRecipeRunError
Implements: OrganizationChangeset, OrganizationRecipeRun
| Field | Type | Description |
|---|
id | ID! | |
name | String! | |
recipe | RecipeDescriptor | |
user | User! | |
options | [RecipeOptionValue!]! | |
createdAt | DateTime! | |
lastUpdatedAt | DateTime! | 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. |
priority | RecipeRunPriority! | |
review | AgentTeamReview | |
startedAt | DateTime | |
finishedAt | DateTime! | |
errorMessage | String | |
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. |
changelogBulkPullRequestActions | (first: Int = 50, after: String, where: ChangelogBulkPullRequestActionWhereInput, orderBy: [ChangelogBulkPullRequestActionOrderByInput!]): ChangelogBulkPullRequestActionConnection! | 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!]): OrganizationCommitConnection | Commit operations initiated from this changeset. |
bulkPullRequestActions | (first: Int = 50, after: String, where: BulkPullRequestActionWhereInput, orderBy: [BulkPullRequestActionOrderByInput!]): BulkPullRequestActionConnection! | Bulk pull request actions (approve, merge, close) launched from this changeset. |
OrganizationRecipeRunFinished
Implements: OrganizationChangeset, OrganizationRecipeRun
| Field | Type | Description |
|---|
id | ID! | |
name | String! | |
recipe | RecipeDescriptor | |
user | User! | |
options | [RecipeOptionValue!]! | |
createdAt | DateTime! | |
lastUpdatedAt | DateTime! | 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. |
priority | RecipeRunPriority! | |
review | AgentTeamReview | |
startedAt | DateTime! | |
finishedAt | DateTime! | |
duration | Duration | |
totals | RecipeRunTotals! | |
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. |
changelogBulkPullRequestActions | (first: Int = 50, after: String, where: ChangelogBulkPullRequestActionWhereInput, orderBy: [ChangelogBulkPullRequestActionOrderByInput!]): ChangelogBulkPullRequestActionConnection! | 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!]): OrganizationCommitConnection | Commit operations initiated from this changeset. |
bulkPullRequestActions | (first: Int = 50, after: String, where: BulkPullRequestActionWhereInput, orderBy: [BulkPullRequestActionOrderByInput!]): BulkPullRequestActionConnection! | Bulk pull request actions (approve, merge, close) launched from this changeset. |
OrganizationRecipeRunQueued
Implements: OrganizationChangeset, OrganizationRecipeRun
| Field | Type | Description |
|---|
id | ID! | |
name | String! | |
recipe | RecipeDescriptor | |
user | User! | |
options | [RecipeOptionValue!]! | |
createdAt | DateTime! | |
lastUpdatedAt | DateTime! | 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. |
priority | RecipeRunPriority! | |
review | AgentTeamReview | |
queuedAt | DateTime! | |
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. |
changelogBulkPullRequestActions | (first: Int = 50, after: String, where: ChangelogBulkPullRequestActionWhereInput, orderBy: [ChangelogBulkPullRequestActionOrderByInput!]): ChangelogBulkPullRequestActionConnection! | 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!]): OrganizationCommitConnection | Commit operations initiated from this changeset. |
bulkPullRequestActions | (first: Int = 50, after: String, where: BulkPullRequestActionWhereInput, orderBy: [BulkPullRequestActionOrderByInput!]): BulkPullRequestActionConnection! | Bulk pull request actions (approve, merge, close) launched from this changeset. |
OrganizationRecipeRunRunning
Implements: OrganizationChangeset, OrganizationRecipeRun
| Field | Type | Description |
|---|
id | ID! | |
name | String! | |
recipe | RecipeDescriptor | |
user | User! | |
options | [RecipeOptionValue!]! | |
createdAt | DateTime! | |
lastUpdatedAt | DateTime! | 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. |
priority | RecipeRunPriority! | |
review | AgentTeamReview | |
startedAt | DateTime! | |
totals | RecipeRunTotals | |
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. |
changelogBulkPullRequestActions | (first: Int = 50, after: String, where: ChangelogBulkPullRequestActionWhereInput, orderBy: [ChangelogBulkPullRequestActionOrderByInput!]): ChangelogBulkPullRequestActionConnection! | 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!]): OrganizationCommitConnection | Commit operations initiated from this changeset. |
bulkPullRequestActions | (first: Int = 50, after: String, where: BulkPullRequestActionWhereInput, orderBy: [BulkPullRequestActionOrderByInput!]): BulkPullRequestActionConnection! | Bulk pull request actions (approve, merge, close) launched from this changeset. |
OrganizationRecipeRunSyncing
Implements: OrganizationChangeset, OrganizationRecipeRun
Deprecated: recipe runs no longer emit a Syncing state. A run that syncs
intrinsically (mod run --sync-csv) starts in Running immediately.
| Field | Type | Description |
|---|
id | ID! | |
name | String! | |
recipe | RecipeDescriptor | |
user | User! | |
options | [RecipeOptionValue!]! | |
createdAt | DateTime! | |
lastUpdatedAt | DateTime! | 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. |
priority | RecipeRunPriority! | |
review | AgentTeamReview | |
startedAt | DateTime! | |
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. |
changelogBulkPullRequestActions | (first: Int = 50, after: String, where: ChangelogBulkPullRequestActionWhereInput, orderBy: [ChangelogBulkPullRequestActionOrderByInput!]): ChangelogBulkPullRequestActionConnection! | 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!]): OrganizationCommitConnection | Commit operations initiated from this changeset. |
bulkPullRequestActions | (first: Int = 50, after: String, where: BulkPullRequestActionWhereInput, orderBy: [BulkPullRequestActionOrderByInput!]): BulkPullRequestActionConnection! | Bulk pull request actions (approve, merge, close) launched from this changeset. |
OrganizationRevision
Implements: OrganizationChangeset
A changeset that began by push rather than by recipe run: what mod exec or a coding agent
did across a working set with no recipe before it. Nothing but the interface: its review
says who and how, its repositories say what.
| Field | Type | Description |
|---|
id | ID! | |
name | String! | |
user | User! | |
createdAt | DateTime! | |
review | AgentTeamReview | |
repositories | (first: Int = 100, after: String, where: RepositoryChangesetWhereInput, orderBy: [RepositoryChangesetOrderByInput!]): RepositoryChangesetConnection! | |
dataTables | (first: Int = 50, after: String, where: DataTableWhereInput, orderBy: [DataTableOrderByInput!]): DataTableConnection! | |
visualizations | (first: Int = 50, after: String, where: VisualizationWhereInput, orderBy: [VisualizationOrderByInput!]): VisualizationConnection! | |
changelogBulkPullRequestActions | (first: Int = 50, after: String, where: ChangelogBulkPullRequestActionWhereInput, orderBy: [ChangelogBulkPullRequestActionOrderByInput!]): ChangelogBulkPullRequestActionConnection! | 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!]): OrganizationCommitConnection | Commit operations initiated from this changeset. |
bulkPullRequestActions | (first: Int = 50, after: String, where: BulkPullRequestActionWhereInput, orderBy: [BulkPullRequestActionOrderByInput!]): BulkPullRequestActionConnection! | Bulk pull request actions (approve, merge, close) launched from this changeset. |
OrganizationSource
| Field | Type | Description |
|---|
id | ID! | Stable id unique within its Connector: "<connectorId>:<sha-256 of the source URI>". |
kind | OrganizationSourceKind! | |
location | String! | The source URI (http/s3/gcs) or permanent-dir-relative path (file). |
download | OrganizationSourceDownload | The downloadable structure-only repos.csv for this source; null only in the rare empty-slot case. |
OrganizationSourceDownload
| Field | Type | Description |
|---|
url | String! | Admin-gated URL serving the structure-only repos.csv for this source. |
sizeBytes | Int! | |
lastUpdatedAt | DateTime | |
PageInfo
| Field | Type | Description |
|---|
hasNextPage | Boolean! | |
hasPreviousPage | Boolean! | |
startCursor | String | |
endCursor | String | |
Patch
| Field | Type | Description |
|---|
diff | String! | Sanitized diff (does not include markers) |
fencedMarkerDiff | String! | A diff with search and markup markers included in fenced {{UUID}} wrappers that correspond to ids in the markers list. |
markers | [Marker!]! | |
PersonalAccessTokenConfiguration
| Field | Type | Description |
|---|
maxExpiryDays | Int | |
PipRecipeBundle
Implements: RecipeBundle
| Field | Type | Description |
|---|
packageName | String! | |
requestedVersion | String | |
version | String | |
recipeCount | Int | |
| Field | Type | Description |
|---|
id | ID! | |
connector | Boolean! | |
changelog | Boolean! | |
codeSearch | Boolean! | |
moddy | Boolean! | |
profiling | Profiling! | |
Profiling
| Field | Type | Description |
|---|
deployed | Boolean! | Whether the per-tenant Pyroscope ASG, S3 bucket, and IAM are provisioned. |
session | ProfilingSession | The currently active profiling session, or null when profiling is off. Flipped by setProfiling. |
ProfilingSession
| Field | Type | Description |
|---|
user | User! | The user who turned profiling on. |
startedAt | DateTime! | When profiling was turned on. |
event | ProfilingEvent! | The primary profiling event the in-process agent is sampling. |
Prompt
PullRequestActionCanceled
Implements: PullRequestAction
PullRequestActionConnection
PullRequestActionEdge
PullRequestActionFailed
Implements: PullRequestAction
PullRequestActionQueued
Implements: PullRequestAction
PullRequestActionRunning
Implements: PullRequestAction
PullRequestActionSucceeded
Implements: PullRequestAction
PullRequestCommitSucceeded
Implements: RepositoryCommitSucceeded, RepositoryCommit
Pull request commit completed successfully.
| Field | Type | Description |
|---|
repository | Repository! | |
startedAt | DateTime! | |
finishedAt | DateTime! | |
resultLink | String | |
pullRequestStatus | PullRequestStatus! | Pull request status, resolved live from the SCM on read (one SCM request per open PR). |
PullRequestOptions
Implements: CommitOptions
| Field | Type | Description |
|---|
branchName | String | |
pullRequestTitle | String | If unset, the commit message will be used as the pull request title. |
pullRequestBody | Base64 | |
draft | Boolean! | |
autoMergeMethod | MergeMethod | If allowed by the repository, set the pull request to automatically merge after all checks pass using the defined strategy. |
canRecreateClosedPullRequest | Boolean! | Recreate a pull request if it was already closed. |
PullRequestRef
| Field | Type | Description |
|---|
origin | String! | |
repositoryPath | String! | |
branch | String! | The pull request's source branch. |
number | Int! | |
PullRequestStatus
| Field | Type | Description |
|---|
mergeable | Mergeable! | Can this pull request be merged or not |
state | PullRequestState! | |
review | ReviewStatus! | |
buildState | BuildState | |
otherBlockingReasons | [String!]! | Additional status flags that block this pull request. Can depend on the SCM service provider. |
resolvedAt | DateTime | When the pull request was merged or closed. The provider's own timestamp on GitHub, Bitbucket Data Center and Azure DevOps; GitLab and Bitbucket Cloud don't report one, so those fall back to when Moderne observed the transition and advance on every read until the commit job finishes. Null while open, and for pull requests already terminal before this shipped -- those are never re-queried. |
PypiConfiguration
| Field | Type | Description |
|---|
resourceId | String! | |
skipSsl | Boolean! | |
skipValidateConnectivity | Boolean! | |
connectivity | HttpToolConnectivity! | |
RecipeBundleConnection
RecipeBundleEdge
RecipeCategory
RecipeCategoryConnection
RecipeCategoryEdge
RecipeDescriptor
| Field | Type | Description |
|---|
id | ID! | |
instanceName | String | A 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. |
displayName | Markdown! | |
description | Markdown! | |
recipeCount | Int | |
bundle | RecipeBundle! | |
options | [Option!]! | |
dataTables | [DataTableDescriptor!]! | |
sourceUrl | String | URL to the recipe's source file on GitHub, used to power the "Go to sources" link. Currently only OpenRewrite (org.openrewrite) recipes have a source URL; null for all other recipes. |
scope | RecipeInstallationScope | Where the bundle that provides this recipe was installed. Only user-scope installs are attributed, so this is a UserInstallScope or null; null means the recipe came from an organization or the universal marketplace. |
detail | RecipeDetail! | 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
RecipeDescriptorEdge
| Field | Type | Description |
|---|
node | RecipeDescriptor! | |
cursor | String! | |
relevance | Float! | 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
RecipeDetailFinished
Implements: RecipeDetail
| Field | Type | Description |
|---|
startedAt | DateTime! | |
finishedAt | DateTime! | |
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!]! | |
graph | RecipeGraph! | 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
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.
RecipeGraphEdge
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.
| Field | Type | Description |
|---|
id | Int! | |
descriptor | RecipeDescriptor! | 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. |
isSingleton | Boolean! | 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
RecipeInstallationEdge
| Field | Type | Description |
|---|
node | RecipeInstallation! | |
cursor | String! | |
requestedBy | User | The user who initiated this installation. Null when the install pre-dates the introduction of this column or its state record has been pruned by retention. |
scope | RecipeInstallationScope! | Where this installation lives: universal, an organization, or a specific user. |
user | User | Deprecated: Use scope instead. It discriminates universal/org/user explicitly. The user whose marketplace this installation was made to. If the installation is a universal or organization installation, this field will be null. |
organization | Organization | Deprecated: Use scope instead. It discriminates universal/org/user explicitly. The 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.
RecipeInstallationFinished
Implements: RecipeInstallation
Installation completed successfully.
RecipeInstallationProcessing
Implements: RecipeInstallation
Installation is actively loading and resolving the recipe bundle.
| Field | Type | Description |
|---|
id | ID! | |
bundle | RecipeBundle! | |
startedAt | DateTime! | |
progress | Float | Progress from 0.0 to 1.0, if available. |
RecipeInstallationQueued
Implements: RecipeInstallation
Installation is queued and waiting to be processed.
RecipeMarketplace
RecipeOptionsMessage
Implements: Message
RecipeOptionValue
| Field | Type | Description |
|---|
name | String! | |
value | Object! | |
RecipeRunFileChange
Implements: FileChange
| Field | Type | Description |
|---|
path | Path! | |
beforeSourcePath | Path | |
afterSourcePath | Path | |
diff | (markupLevel: MarkupLevel = WARNING, 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.
RecipeRunProgress
Typed progress envelope for an in-flight recipe run.
| Field | Type | Description |
|---|
recipeRunId | ID | |
reposQueued | Int | |
reposRunning | Int | |
reposFinished | Int | |
reposTotal | Int | |
RecipeRunTotals
| Field | Type | Description |
|---|
timeSavings | Duration | |
filesSearched | Int! | |
filesChanged | Int! | |
filesWithResults | Int! | |
totalMarkers | Int! | |
repositoriesWithResults | Int! | |
repositoriesSuccessful | Int! | |
repositoriesWithNoChanges | Int! | |
repositoriesWithErrors | Int! | |
repositoriesInProgress | Int! | |
RecipeSearchMessage
Implements: Message
RecipeUninstallation
Result of an uninstall operation.
| Field | Type | Description |
|---|
removedCount | Int! | The number of recipes that were removed. |
ReindexResult
| Field | Type | Description |
|---|
resetCount | Int! | Number of repository cursors that were reset. |
since | DateTime! | The timestamp cursors were rewound to. |
Repository
| Field | Type | Description |
|---|
origin | String! | |
path | String! | |
branch | String! | |
changeset | String | |
lstArtifact | LstArtifact! | |
RepositoryAuthorization
Authorization status for accessing repository content.
Resolved by the changeset reader using a batch check against the authorization service.
| Field | Type | Description |
|---|
origin | String! | The VCS origin (e.g., github.com). |
access | RepoAccess! | The current viewer's read access to this specific repository. Drives whether the UI renders content (ALLOWED), a "you don't have access" message (DENIED), or an authorize prompt (UNAUTHENTICATED). |
message | String | What to tell the viewer when access isn't ALLOWED, e.g. that their token needs SAML SSO authorization or that the SCM is rate-limiting access checks. |
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 as each repository's LST is synced. Their sum equals count.
| Field | Type | Description |
|---|
edges | [RepositoryChangesetEdge!]! | |
pageInfo | PageInfo! | |
completed | Int! | |
count | Int! | |
syncPending | Int! | Repositories not yet synced. |
synced | Int! | Repositories successfully synced. |
syncFailed | Int! | Repositories that failed to sync. |
syncCanceled | Int! | Repositories whose sync was canceled before completion. |
syncSkipped | Int! | Repositories the CLI skipped during sync (typically: no LST available). |
scmOrganizations | [ScmOrganizationRepositoryCount!] | Every SCM organization (the first segment of a repository path) among this connection's repositories, with its repository count. Ignores pagination, so it lists organizations whose repositories are not in the requested page. Null where the resolver does not compute it. |
RepositoryChangesetEdge
RepositoryCommitCanceled
Implements: RepositoryCommit
Repository commit was canceled.
Use options.__typename to determine the specific commit type.
RepositoryCommitConnection
| Field | Type | Description |
|---|
edges | [RepositoryCommitEdge!]! | |
pageInfo | PageInfo! | |
count | Int! | |
completedCount | Int! | 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". This and the three totals below span the whole job (after any where filter), not the current page; canceled has no total of its own, so subtract the other three from this. |
succeededCount | Int! | Terminal with a branch pushed or a pull request opened. |
failedCount | Int! | Terminal with an error; the repository carries the message. |
noChangesCount | Int! | Terminal with the patch applied but nothing left to commit. |
RepositoryCommitEdge
RepositoryCommitFailed
Implements: RepositoryCommit
Repository commit failed with an error.
Use options.__typename to determine the specific commit type.
| Field | Type | Description |
|---|
repository | Repository! | |
startedAt | DateTime | |
finishedAt | DateTime! | |
errorMessage | String! | Human-readable error message. |
retryCount | Int | Number of retry attempts made. |
options | CommitOptions! | 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.
RepositoryCommitQueued
Implements: RepositoryCommit
Repository commit is queued and waiting to be processed.
Use options.__typename to determine the specific commit type.
| Field | Type | Description |
|---|
repository | Repository! | |
startedAt | DateTime | |
rateLimitReset | DateTime | Time when rate limit expires (if rate limited). |
options | CommitOptions! | 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.
RepositoryConnection
RepositoryEdge
RepositoryRecipeRunCanceled
Implements: RepositoryRecipeRun, RepositoryChangeset
| Field | Type | Description |
|---|
repository | Repository! | |
authorization | RepositoryAuthorization! | |
syncStatus | RepositorySyncStatus | |
results | (first: Int = 100, after: String, where: FileChangeWhereInput, orderBy: [FileChangeOrderByInput!]): FileChangeConnection! | |
message | String | Why this repository stopped, when there is more to say than "the run was canceled". Null for the ordinary case, where a repository simply had not run yet. Set when the CLI had to leave the repository behind because it never stopped when asked, in which case this carries the stack it was wedged in and the source file it was on. That is the only account of such a wedge that leaves the host running the CLI. |
RepositoryRecipeRunConnection
RepositoryRecipeRunEdge
RepositoryRecipeRunError
Implements: RepositoryRecipeRun, RepositoryChangeset
RepositoryRecipeRunFinished
Implements: RepositoryRecipeRun, RepositoryChangeset
RepositoryRecipeRunNoLst
Implements: RepositoryRecipeRun, RepositoryChangeset
RepositoryRecipeRunQueued
Implements: RepositoryRecipeRun, RepositoryChangeset
RepositoryRecipeRunRunning
Implements: RepositoryRecipeRun, RepositoryChangeset
RepositoryRevision
Implements: RepositoryChangeset
One repository as one push left it, a fact rather than a process: it landed or the remote
refused it, so it has no state. Its .moderne/run/<id> directory is named by id.
| Field | Type | Description |
|---|
id | ID! | |
repository | Repository! | |
authorization | RepositoryAuthorization! | |
results | (first: Int = 100, after: String, where: FileChangeWhereInput, orderBy: [FileChangeOrderByInput!]): FileChangeConnection! | The whole difference from the base commit to tipCommit, however many commits and pushes came before, never the delta of this push alone. What one agent changed is the difference between two revisions' results. |
agent | Agent | The agent that pushed it, or null for a push from a checkout no agent worked in. |
pushedBy | User! | The identity the remote verified at the push, which the commit's author line need not be. |
pushedAt | DateTime! | |
message | String | The moderne-message push option. |
tipCommit | String! | Provenance only; the objects are not retained. A later push must descend from it or name this change as its parent. |
ancestors | [RepositoryChangeset!]! | This repository's earlier changes, newest first, down to the recipe run's result when a run made the changeset. A chain rather than a graph because the remote refuses a push that does not fast-forward the tip; accept a merge and this becomes parents. |
priorTo | (change: ID!): RepositoryChangeset | The repository as it stood just before change, which is this revision or one of its ancestors: the previous revision, or the recipe run's result. What a blame range's "prior to this change" opens. Null when only the base commit came before it, or for an id not in this chain. |
ReviewStatus
RevisionFileChange
Implements: FileChange
A push's file change: the difference between two trees, with no recipe attribution.
| Field | Type | Description |
|---|
path | Path! | |
beforeSourcePath | Path | |
afterSourcePath | Path | |
diff | (markupLevel: MarkupLevel = WARNING, showWhitespaceOnlyChanges: Boolean = true): Patch | |
blame | [DiffBlameRange!]! | Which change in the repository's chain made each changed line of diff what it is, in the order the lines appear in it. Context lines are the base commit's and fall in no range. |
RevokeTokenResult
Result of revoking an SCM OAuth token.
| Field | Type | Description |
|---|
success | Boolean! | True if the token was revoked (or didn't exist). |
error | String | Error message if revocation failed. |
S3Configuration
| Field | Type | Description |
|---|
resourceId | String! | |
skipSsl | Boolean! | |
skipValidateConnectivity | Boolean! | |
connectivity | HttpToolConnectivity! | |
region | String | |
endpointUrl | String | |
ScmOrganizationRepositoryCount
An SCM organization (GitHub owner, GitLab group, Bitbucket project) and how many repositories it holds.
| Field | Type | Description |
|---|
name | String! | |
count | Int! | Repositories in this organization. |
resultCount | Int | Sum of each repository's results count. Null until every repository has finished, and for runs whose result counts were not precomputed. |
ScmTokenInfo
SearchResult
Implements: Marker
| Field | Type | Description |
|---|
id | ID! | |
type | String! | |
description | String | |
SendMessageResult
Handle returned by createConversation / sendMessage. Clients should
poll conversation.messages(after: initialCursor) using
turnState.recommendedPollIntervalMs as the cadence hint.
TextMessage
Implements: Message
A text message from either the human user or the chatbot.
Check the user field to distinguish sender.
| Field | Type | Description |
|---|
id | ID! | |
user | User! | |
content | Markdown! | |
truncated | Boolean! | True when the LLM response was cut off by the token limit. |
state | MessageState! | |
lastUpdatedAt | DateTime! | |
TranscriptConnection
TranscriptExport
The whole transcript as one OTLP JSON trace, rendered on download rather than stored, since the
spans already are.
| Field | Type | Description |
|---|
bytes | Int! | |
url | String! | URL path to download the trace (relative to the service base URL). |
uploadedAt | DateTime! | When the spans it renders arrived. |
TranscriptSpan
One span of a transcript. Spans are flat; a reader rebuilds the tree from parentId.
| Field | Type | Description |
|---|
id | ID! | |
parentId | ID | |
kind | TranscriptSpanKind! | |
name | String! | The model, the tool, or the agent, by kind. |
startedAt | DateTime! | |
finishedAt | DateTime | |
error | String | |
inputTokens | Int | |
outputTokens | Int | |
repository | Repository | The repository a tool call worked in, when the CLI could tell. |
TranscriptSpanEdge
UiConfiguration
UniversalInstallScope
The installation lives in the universal marketplace, visible to every tenant.
| Field | Type | Description |
|---|
universal | Boolean! | Always true. Present so the type has a selectable field. |
User
UserConnection
UserInstallScope
The installation lives in a specific user's personal marketplace.
| Field | Type | Description |
|---|
user | User! | |
UsersEdge
| Field | Type | Description |
|---|
node | User! | |
cursor | String! | |
VisualizationAvailable
Implements: Visualization
| Field | Type | Description |
|---|
id | ID! | |
descriptor | VisualizationDescriptor! | |
changesetId | ID! | The changeset (recipe run or batch change) this visualization is available for. |
VisualizationConnection
VisualizationDataGridOutput
Implements: VisualizationOutput
| Field | Type | Description |
|---|
format | DataGridFormat! | |
data | Base64! | Moderne data grid JSON, rendered client-side by the grid components (MIME types: application/vnd.moderne.datagrid+json, application/vnd.moderne.treedatagrid+json) |
VisualizationDescriptor
VisualizationEdge
VisualizationError
Implements: Visualization
VisualizationFinished
Implements: Visualization
VisualizationImageOutput
Implements: VisualizationOutput
VisualizationOption
| Field | Type | Description |
|---|
name | String! | |
value | Object | |
type | String! | |
displayName | String! | |
description | String! | |
example | String | |
valid | [String] | |
required | Boolean! | |
VisualizationPlotlyOutput
Implements: VisualizationOutput
| Field | Type | Description |
|---|
data | Base64! | Plotly JSON data (MIME type: application/vnd.plotly.v1+json) |
VisualizationProcessing
Implements: Visualization
VisualizationRepository
VisualizationRepositoryConnection
VisualizationRepositoryEdge
YamlRecipeBundle
Implements: RecipeBundle
| Field | Type | Description |
|---|
yaml | Base64! | |
requestedVersion | String | |
version | String | |
recipeCount | Int | |
primary | RecipeDescriptor | The primary recipe in this bundle. When specified, only this recipe is shown in marketplace categories, hiding other recipes from this bundle. |
Interfaces
AuditLogsDownload
| Field | Type | Description |
|---|
id | ID! | |
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 pull request targeted by the bulk operation.
ChangelogBulkPullRequestAction
A bulk pull request action (approve, merge, close) that operates on potentially
multiple repositories. Use __typename to determine the current state.
Each ChangelogBulkPullRequestAction contains individual ChangelogPullRequestAction entries
representing the state of each repository targeted by the bulk operation.
ChangelogEntry
A single entry in the changelog — either a commit or a pull request.
Use __typename to distinguish between ChangelogCommit and ChangelogPullRequest.
| Field | Type | Description |
|---|
id | ID! | |
title | String! | Commit message (for commits) or PR title (for pull requests). |
author | ChangeParticipant! | The author of the commit or PR. |
repository | Repository! | The repository this entry belongs to. |
url | String! | URL to the commit or PR in the VCS provider. |
branch | String! | The target branch (for PRs) or the branch committed to (for commits). |
updatedAt | DateTime! | When this entry was last updated in the VCS provider. |
createdAt | DateTime! | When this entry was created in the VCS provider. |
changeset | OrganizationChangeset | If this activity was originated by Moderne, the changeset it belongs to. |
buildState | BuildState | CI status (e.g. from GitHub Actions, GitLab pipelines). Null if no CI is configured or status has not been fetched yet. |
diffstat | DiffStat! | Lines added and removed. |
ChangelogPullRequestAction
The state of an individual repository within a ChangelogBulkPullRequestAction.
Use __typename to determine the current state.
CodeSearchSession
A session belongs to the user who opened it: nobody else can get it or search with it.
| Field | Type | Description |
|---|
id | ID! | |
organization | Organization! | |
user | User! | |
instance | String! | The service instance that holds the session's index. Sessions do not move between instances, so one whose instance is gone is closed with reason INSTANCE_REPLACED. |
startedAt | DateTime! | |
CommitOptions
| Field | Type | Description |
|---|
branchName | String | |
DataTable
| Field | Type | Description |
|---|
id | ID! | |
dataTable | DataTableDescriptor! | |
instanceName | String! | 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. |
group | String | The 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.
FileChange
A change to a single file within a repository changeset.
| Field | Type | Description |
|---|
path | Path! | Path to the file relative to repository root. |
beforeSourcePath | Path | The source path before the change (from the diff's --- a/... line). Null for newly created files. |
afterSourcePath | Path | The source path after the change (from the diff's +++ b/... line). Null for deleted files. |
diff | (markupLevel: MarkupLevel = WARNING, showWhitespaceOnlyChanges: Boolean = true): Patch | Get the diff for this file. |
Marker
| Field | Type | Description |
|---|
id | ID! | |
Message
OrganizationChangeset
An organization-wide changeset represents code changes or search results across multiple
repositories: a recipe run (OrganizationRecipeRun*) or a revision that began by push
(OrganizationRevision). Either kind is revised by the agents reviewing it, whose pushes
become each repository's newest change.
Note: This is a shared interface definition. Subgraphs that need to resolve this
interface must define the implementation types.
| Field | Type | Description |
|---|
id | ID! | |
changelogBulkPullRequestActions | (first: Int = 50, after: String, where: ChangelogBulkPullRequestActionWhereInput, orderBy: [ChangelogBulkPullRequestActionOrderByInput!]): ChangelogBulkPullRequestActionConnection! | 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!]): OrganizationCommitConnection | Commit operations initiated from this changeset. |
bulkPullRequestActions | (first: Int = 50, after: String, where: BulkPullRequestActionWhereInput, orderBy: [BulkPullRequestActionOrderByInput!]): BulkPullRequestActionConnection! | Bulk pull request actions (approve, merge, close) launched from this changeset. |
name | String! | What the changeset is called: a recipe run's instance name, or what its first push named it. |
user | User! | |
createdAt | DateTime! | |
review | AgentTeamReview | The agents working on the changeset as one team: who they are, what they said to each other, and the recipes they fixed. Null until an agent joins, which for a recipe run is after the run is terminal, since a changeset cannot be checked out before then. |
repositories | (first: Int = 100, after: String, where: RepositoryChangesetWhereInput, orderBy: [RepositoryChangesetOrderByInput!]): RepositoryChangesetConnection! | Each repository of the changeset at its newest change: a RepositoryRevision where one was pushed, else what the recipe run left. |
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.
OrganizationRecipeRun
| Field | Type | Description |
|---|
id | ID! | |
changelogBulkPullRequestActions | (first: Int = 50, after: String, where: ChangelogBulkPullRequestActionWhereInput, orderBy: [ChangelogBulkPullRequestActionOrderByInput!]): ChangelogBulkPullRequestActionConnection! | Bulk pull request actions for recipe-run changesets. |
commits | (first: Int = 50, after: String, where: OrganizationCommitWhereInput, orderBy: [OrganizationCommitOrderByInput!]): OrganizationCommitConnection | Commit operations initiated from this recipe run. |
bulkPullRequestActions | (first: Int = 50, after: String, where: BulkPullRequestActionWhereInput, orderBy: [BulkPullRequestActionOrderByInput!]): BulkPullRequestActionConnection! | Bulk pull request actions (approve, merge, close) launched from this recipe run. |
name | String! | |
recipe | RecipeDescriptor | |
user | User! | |
options | [RecipeOptionValue!]! | |
createdAt | DateTime! | |
lastUpdatedAt | DateTime! | 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. |
priority | RecipeRunPriority! | |
review | AgentTeamReview | |
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 pull request within a BulkPullRequestAction.
Use __typename to determine the current state.
| Field | Type | Description |
|---|
pullRequest | PullRequestRef! | |
commitId | ID | The commit job whose pull request this result acted on. Bulk actions are changeset-scoped, so filter on this to show only one commit job's activity. Null only for actions enqueued before this field existed -- a shrinking population, but one a per-commit view will otherwise render as empty. |
RecipeBundle
| Field | Type | Description |
|---|
requestedVersion | String | |
version | String | |
recipeCount | Int | Number 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.
RecipeInstallation
Common fields for all recipe installation states.
Use __typename to determine the current state.
RepositoryChangeset
RepositoryCommit
A commit result for a single repository within an organization-level commit operation.
Use __typename to determine the current state.
RepositoryCommitSucceeded
Repository commit completed successfully.
Use __typename to determine the specific commit type.
| Field | Type | Description |
|---|
repository | Repository! | |
startedAt | DateTime! | |
finishedAt | DateTime! | |
resultLink | String | Link to the commit or pull request result. |
RepositoryRecipeRun
ScmConnection
| Field | Type | Description |
|---|
resourceId | String! | |
isAuthorized | Boolean! | |
tokens | [ScmTokenInfo!]! | |
Visualization
VisualizationOutput
| Field | Type | Description |
|---|
data | Base64! | |
Enums
AccessTokenOrderByField
AgentStatus
RUNNING
SUCCEEDED
FAILED
CANCELED
AuditLogsDownloadOrderByField
BranchDeleteStatus
Only reflects CLOSE-triggered branch deletes. A MERGE with deleteSourceBranch: true always
reports SKIPPED regardless of whether the provider's bundled delete succeeded.
SKIPPED
SUCCEEDED
FAILED
REFUSED_UNTRUSTED
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
ChangelogBulkPullRequestActionOrderByField
CREATED_AT
STARTED_AT
FINISHED_AT
ChangelogBulkPullRequestActionState
The lifecycle state of a ChangelogBulkPullRequestAction. 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.
ChangelogParticipantOrderByField
ChangelogPullRequestActionOrderByField
REPOSITORY_PATH
STATE
STARTED_AT
ChangelogPullRequestActionState
QUEUED
IN_PROGRESS
SUCCESSFUL
FAILED
CANCELED
ChangelogPullRequestActionType
CodeSearchPreparePhase
QUEUED
SYNCING
INDEXING
OPENING
CodeSearchSessionCloseReason
USER
IDLE_TIMEOUT
INSTANCE_REPLACED
FAILED
CodingAgent
The coding agent behind mod <agent> chat.
AMP
CLAUDE
CODEX
COPILOT
CURSOR
KIRO
OPEN_CODE
VSCODE
WINDSURF
CommitOption
DIRECT
BRANCH
FORK
PULL_REQUEST
FORK_AND_PULL_REQUEST
NONE
ConnectorOrderByField
GITHUB
GITLAB
BITBUCKET
BITBUCKET_CLOUD
AZURE_DEVOPS
ARTIFACTORY
MAVEN
PYPI
NPM
NUGET
GO
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
DataTableOrderByField
DevCenterAggregation
How DevCenter card results are aggregated across repositories.
PER_REPOSITORY
PER_OCCURRENCE
DevCenterRunOrderByField
DevCenterRunState
Execution state of a DevCenter run.
RUNNING
FINISHED
CANCELED
ERROR
DiffSide
FileChangeOrderByField
LlmProvider
ANTHROPIC
GEMINI
MISTRAL
OPEN_AI
MarkupLevel
DEBUG
INFO
WARNING
ERROR
NONE
Mergeable
MERGEABLE
BLOCKED
UNKNOWN
MergeMethod
MessageState
OrganizationChangesetOrderByField
OrganizationChangesetType
OrganizationCommitOrderByField
OrganizationOrderByField
OrganizationRecipeRunOrderByField
STARTED_AT
ENDED_AT
STATE
USER
OrganizationRecipeRunState
QUEUED
SYNCING
RUNNING
FINISHED
CANCELED
ERROR
OrganizationSourceKind
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.
PullRequestActionOrderByField
REPOSITORY_PATH
STATE
STARTED_AT
PullRequestActionState
QUEUED
IN_PROGRESS
SUCCESSFUL
FAILED
CANCELED
PullRequestActionType
PullRequestState
RecipeBundleOrderByField
PACKAGE_NAME
VERSION
REQUESTED_VERSION
ECOSYSTEM
RecipeCategoryOrderByField
DISPLAY_NAME
RECIPE_COUNT
RecipeEcosystem
Maven
NPM
YAML
Pip
Nuget
Go
Git
RecipeGraphEdgeType
RECIPE
PRECONDITION
REFERENCE
RecipeInstallationOrderByField
STARTED_AT
STATUS
ECOSYSTEM
PACKAGE_NAME
VERSION
FINISHED_AT
RecipeInstallationScopeType
The kind of scope a RecipeInstallation lives in -- the discriminant of the
RecipeInstallationScope union, exposed here for where filtering.
UNIVERSAL
ORGANIZATION
USER
CHANGESET
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).
RepoAccess
The current viewer's read access to a specific repository (per-repo SCM check, not just a
token for the origin).
ALLOWED
DENIED
UNAUTHENTICATED
RepositoryChangesetOrderByField
PATH
ORIGIN
FILES_CHANGED
SYNC_STATUS
STATE
RepositoryChangesetState
Result state of a repository within a changeset. A RepositoryRevision has no state of its own,
since a push either landed or was refused; it counts as SUCCESS here.
QUEUED
RUNNING
SUCCESS
ERROR
NO_LST
CANCELED
RepositoryCommitOrderByField
ORIGIN
PATH
BRANCH
STATUS
STARTED_AT
UPDATED_AT
RepositoryCommitStatus
Result status of a single repository within a commit operation.
QUEUED
RUNNING
SUCCEEDED
FAILED
CANCELED
NO_CHANGES
RepositoryErrorReason
FAILED_LOAD_AST
FAILED_LOAD_RECIPE
TIMEOUT
RECIPE_ERROR
RepositoryOrderByField
ORIGIN
PATH
BRANCH
CHANGESET
LST_ARTIFACT_PUBLISHED
RepositoryRecipeRunOrderByField
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
TranscriptSpanKind
AGENT_INVOCATION
MODEL_CALL
TOOL_CALL
UserOrderByField
EMAIL
USERNAME
ROLE
LAST_ACTIVE
UserRole
VisualizationOrderByField
VisualizationRepositoryRunState
QUEUED
PROCESSING
FINISHED
FINISHED_EMPTY
NO_LST
ERROR
BooleanFilter
| Field | Type | Description |
|---|
_eq | Boolean | |
_neq | Boolean | |
BuildStateFilter
BulkPullRequestActionStateFilter
Filter by changelog author.
ChangelogBulkPullRequestActionStateFilter
ChangelogEntryOrderByInput
ChangelogEntryTypeFilter
ChangelogEntryWhereInput
Filter input for changelog entries.
Filter input for participants.
ChangelogPullRequestActionStateFilter
ChangelogPullRequestActionTypeFilter
Input for creating a commit from a changeset.
| Field | Type | Description |
|---|
organizationId | ID | Organization ID context for the changeset. |
changesetId | ID! | 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. |
branchName | String | If unset, commit to the branch that the LST was generated from. |
message | String! | Commit message. |
extendedMessage | Base64 | Extended commit message (Base64 encoded). |
gpgKey | GpgInput | GPG key for signing commits. |
email | String | Git-author email to attribute the commit to (display only). This value is never used to select SCM credentials — tokens are resolved from your authenticated identity (or a token you supply explicitly via scmAccessTokens), never from this field. If left blank, your first email will be used. |
scmAccessTokens | [ScmAccessToken!] | Optional SCM access tokens you already hold, keyed by origin. When provided, these are used instead of looking up your stored OAuth token for the matching origin. These are your own tokens; they do not select another user's credentials. |
strategy | CommitStrategyInput! | How to deliver the commit. Choose one strategy. |
Commit delivery strategy. Choose one option.
| Field | Type | Description |
|---|
message | String! | |
organizationId | ID! | |
| Field | Type | Description |
|---|
name | String! | The name of the organization. |
repositories | [RepositoryInput!] | Repositories to include in the organization. At least one is required. |
DateTimeFilter
DevCenterRunStateFilter
Filter input for DevCenter run queries.
Direct commit to origin. No additional options required.
| Field | Type | Description |
|---|
_empty | Boolean | Placeholder field. Direct commits require no additional configuration. |
| Field | Type | Description |
|---|
authorizationId | ID! | The authorization ID returned from initiateAuthorization or from NeedsAuthorization. |
code | String! | Authorization code from the OAuth callback. |
state | String! | The state value returned in the OAuth callback (the state parameter for OAuth 2.0, or oauth_token for Bitbucket OAuth 1.0a). Validated against the server-issued state to prevent CSRF / authorization-code injection. |
redirectUri | String! | 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. |
Filter for file changes.
| Field | Type | Description |
|---|
path | PathFilter | Filter by file path using glob patterns. |
errorsOnly | Boolean | Only return files that contain at least one ERROR-level marker. Note: this field is evaluated at the top level only. Placing it inside _and / _or / _not is silently ignored. |
_and | [FileChangeWhereInput!] | Logical AND - all conditions must match. |
_or | [FileChangeWhereInput!] | Logical OR - at least one condition must match. |
_not | FileChangeWhereInput | Logical NOT - negates the condition. |
Create a pull request from a branch on a fork.
| Field | Type | Description |
|---|
organization | String | Organization to create the fork in. If unset, creates in user's personal account. |
prefixOrganizationName | Boolean | Prefix the fork name with the origin organization to avoid name collisions. |
title | String | Pull request title. If unset, uses the commit message. |
body | Base64 | Pull request body (Base64 encoded). |
draft | Boolean | Create as a draft pull request. |
maintainerCanModify | Boolean | GitHub only: allow maintainers to edit the pull request. |
autoMergeMethod | MergeMethod | Auto-merge method after checks pass. Null means no auto-merge. Best effort - silently ignored if not supported by the repository. |
recreateClosedPullRequest | Boolean | Recreate pull request if it was previously closed. |
Commit to a fork of the origin repository.
| Field | Type | Description |
|---|
organization | String | Organization to create the fork in. If unset, creates in user's personal account. |
prefixOrganizationName | Boolean | Prefix the fork name with the origin organization to avoid name collisions. Example: openrewrite/rewrite -> myuser/openrewrite__rewrite |
| Field | Type | Description |
|---|
packageName | String! | |
version | String | |
| Field | Type | Description |
|---|
privateKey | String! | |
publicKey | String! | |
passphrase | String | |
IDFilter
| Field | Type | Description |
|---|
_eq | ID | |
_neq | ID | |
_in | [ID!] | |
_nin | [ID!] | |
| Field | Type | Description |
|---|
origin | String! | The VCS origin to authorize (e.g., github.com, gitlab.com). |
redirectUri | String! | The redirect URI where the VCS will send the callback. Must match an allowed redirect URI in the OAuth app configuration. |
IntFilter
| Field | Type | Description |
|---|
_eq | Int | |
_neq | Int | |
_gt | Int | |
_gte | Int | |
_lt | Int | |
_lte | Int | |
| Field | Type | Description |
|---|
groupId | String! | |
artifactId | String! | |
version | String! | |
| Field | Type | Description |
|---|
packageName | String! | |
version | String! | |
| Field | Type | Description |
|---|
packageName | String! | |
version | String! | |
OrganizationChangesetTypeFilter
Filter input for organization-level commit queries.
OrganizationRecipeRunStateFilter
PathFilter
Filter for file paths using glob patterns.
| Field | Type | Description |
|---|
_eq | Path | Exact path match. |
_in | [Path!] | Match any of the exact paths. |
_nin | [Path!] | Exclude any of the exact paths. |
_glob | String | Glob pattern match. Examples: /*.java, src/main/ |
| Field | Type | Description |
|---|
packageName | String! | |
version | String | |
PullRequestActionStateFilter
PullRequestActionTypeFilter
Create a pull request from a branch on the origin remote.
| Field | Type | Description |
|---|
title | String | Pull request title. If unset, uses the commit message. |
body | Base64 | Pull request body (Base64 encoded). |
draft | Boolean | Create as a draft pull request. |
autoMergeMethod | MergeMethod | Auto-merge method after checks pass. Null means no auto-merge. Best effort - silently ignored if not supported by the repository. |
recreateClosedPullRequest | Boolean | Recreate pull request if it was previously closed. |
| Field | Type | Description |
|---|
repository | RepositoryInput! | |
number | Int! | Pull request number. |
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
PullRequestSelectionModifier
Modifies a PR selection by either including or excluding specific PRs.
Exactly one field must be set.
PullRequestStateFilter
Filter input for RecipeBundle queries.
Filter input for RecipeCategory queries.
RecipeEcosystemFilter
| Field | Type | Description |
|---|
id | ID! | Fully-qualified recipe ID. Example: org.openrewrite.java.search.FindMethods |
options | [RecipeOptionInput!] | |
RecipeInstallationScopeFilter
RecipeInstallationStatusFilter
| Field | Type | Description |
|---|
name | String! | Option name. Example: methodPattern |
value | Object! | Option value. Example: java.util.List add(..) |
RecipeUninstallSelector
Identifies the installed bundle to uninstall — exactly one field must be set.
| Field | Type | Description |
|---|
packageName | String | The bundle's package name, as listed on a non-YAML RecipeBundle. |
recipeId | String | A recipe id provided by the bundle to uninstall, resolved to the bundle's package name server-side. Removes the ENTIRE bundle that provides this recipe — every recipe that bundle installed, not just this one. For a single-recipe bundle (such as a Builder recipe) that is exactly the one recipe; for a multi-recipe bundle it removes all of them. |
Filter input for Recipe queries.
Use query for semantic search, or use field filters for exact matching.
RepositoryChangesetStateFilter
Filter for repository changesets.
RepositoryCommitStatusFilter
Filter input for repository-level commit queries. Applied across the whole commit worklist
before pagination, so a search matches repositories that fall on later pages.
| Field | Type | Description |
|---|
origin | String! | |
path | String! | |
branch | String! | |
Filter input for Repository queries using typed field filters.
ReviewDecisionFilter
| Field | Type | Description |
|---|
origin | String! | The VCS origin to revoke the token for (e.g., github.com, gitlab.com). |
| Field | Type | Description |
|---|
organizationId | ID! | The organization to run DevCenter for. |
recipeId | ID! | The DevCenter recipe to run. |
| Field | Type | Description |
|---|
recipe | RecipeInput! | The recipe to run with any configured options. |
organizationId | ID! | Run against all repositories in this organization. |
parentId | ID | Optional 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.
| Field | Type | Description |
|---|
value | String! | |
origin | String! | |
StringFilter
| Field | Type | Description |
|---|
_eq | String | |
_neq | String | |
_in | [String!] | |
_nin | [String!] | |
_contains | String | |
_startsWith | String | |
_endsWith | String | |
_icontains | String | Case-insensitive contains |
_isNull | Boolean | True to match null values, false to match non-null values |
TranscriptSpanKindFilter
| Field | Type | Description |
|---|
id | ID! | The ID of the organization to update. |
name | String | The new name for the organization. |
repositories | [RepositoryInput!] | Repositories to include in the organization. If provided, replaces the current list and must name at least one. |
| Field | Type | Description |
|---|
name | String! | |
value | Object! | |
| Field | Type | Description |
|---|
yaml | Base64! | |
primary | ID | The 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
= GithubConfiguration | GitLabConfiguration | BitbucketConfiguration | BitbucketCloudConfiguration | AzureDevOpsConfiguration | ArtifactoryConfiguration | MavenConfiguration | PypiConfiguration | NpmConfiguration | NugetConfiguration | GoConfiguration | GenericHttpToolConfiguration | OrganizationConfiguration | LlmConfiguration | S3Configuration
RecipeInstallationScope
Discriminates where a RecipeInstallation lives.
= UniversalInstallScope | OrganizationInstallScope | UserInstallScope | ChangesetInstallScope
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").