AppMutations
No description
type AppMutations {
createApp(
name: String!
description: String!
): AppData
updateApp(
publicId: String!
name: String!
description: String!
): App
setAppPaused(
publicId: String!
paused: Boolean!
): App
deleteApp(
publicId: String!
confirmReleased: Boolean!
): Boolean
writeAppFile(
publicId: String!
path: String!
content: String!
): AppFile
deleteAppFile(
publicId: String!
path: String!
): Boolean
renameAppFile(
publicId: String!
from: String!
to: String!
): AppFile
releaseApp(
publicId: String!
): AppData
startAppBuild(
publicId: String!
): AppBuild
mintAppTicket(
appHostId: String!
): String
setAppAgents(
publicId: String!
agentPublicIds: [String!]!
): [AppAgent!]
setAppEndpoints(
publicId: String!
processPublicIds: [String!]!
): [AppEndpoint!]
}
Fields
AppMutations.createApp ● AppData object
Create an app: two origins (draft and release), a draft version, and the starter scaffold
AppMutations.createApp.name ● String! non-null scalar
AppMutations.createApp.description ● String! non-null scalar
AppMutations.updateApp ● App object
Rename an app or change its description
AppMutations.updateApp.publicId ● String! non-null scalar
AppMutations.updateApp.name ● String! non-null scalar
AppMutations.updateApp.description ● String! non-null scalar
AppMutations.setAppPaused ● App object
Pause an app: its release origin answers 503 while its draft stays editable
AppMutations.setAppPaused.publicId ● String! non-null scalar
AppMutations.setAppPaused.paused ● Boolean! non-null scalar
AppMutations.deleteApp ● Boolean scalar
Delete an app, its versions, files and origins
AppMutations.deleteApp.publicId ● String! non-null scalar
AppMutations.deleteApp.confirmReleased ● Boolean! non-null scalar
Required to delete a RELEASED app: doing so takes down a URL people may have bookmarked
AppMutations.writeAppFile ● AppFile object
Create or replace one file in the app's DRAFT. No mutation names a version: a released version is unreachable from every write path
AppMutations.writeAppFile.publicId ● String! non-null scalar
AppMutations.writeAppFile.path ● String! non-null scalar
Repo-relative, under src/ or public/. src/honeybase/ is reserved for the generated SDK
AppMutations.writeAppFile.content ● String! non-null scalar
AppMutations.deleteAppFile ● Boolean scalar
Delete one file from the app's draft
AppMutations.deleteAppFile.publicId ● String! non-null scalar
AppMutations.deleteAppFile.path ● String! non-null scalar
AppMutations.renameAppFile ● AppFile object
Move one file within the app's draft
AppMutations.renameAppFile.publicId ● String! non-null scalar
AppMutations.renameAppFile.from ● String! non-null scalar
AppMutations.renameAppFile.to ● String! non-null scalar
AppMutations.releaseApp ● AppData object
Release the draft: stamp it, point the app at it, and clone a fresh draft. Refused unless the draft matches a build that succeeded
AppMutations.releaseApp.publicId ● String! non-null scalar
AppMutations.startAppBuild ● AppBuild object
Queue a build of the app's draft and return its row immediately. Watch it with subscriptions.apps.watchAppBuild
AppMutations.startAppBuild.publicId ● String! non-null scalar
AppMutations.mintAppTicket ● String scalar
Mint a single-use, short-lived ticket that signs the caller in to one of their app's origins. The app never sees the Honeybase session
AppMutations.mintAppTicket.appHostId ● String! non-null scalar
Which of the app's two origins (draft or release) to sign in to
AppMutations.setAppAgents ● [AppAgent!] list object
Replace the agents this app may invoke. Requires canManageReleases, not just build access: every user of the app can then spend the organization's AI budget through them
AppMutations.setAppAgents.publicId ● String! non-null scalar
AppMutations.setAppAgents.agentPublicIds ● [String!]! non-null scalar
The COMPLETE list of agents this app may invoke. Anything omitted is undeclared
AppMutations.setAppEndpoints ● [AppEndpoint!] list object
Replace the endpoints this app may invoke. Requires canManageReleases and canBuildWorkflows: declaring is a grant, and only someone who may run an endpoint may hand it to an app
AppMutations.setAppEndpoints.publicId ● String! non-null scalar
AppMutations.setAppEndpoints.processPublicIds ● [String!]! non-null scalar
The COMPLETE list of endpoints (process public ids) this app may invoke. Anything omitted is undeclared, and an app session calling an undeclared endpoint is refused with 403 app_endpoint_not_declared
Returned By
apps mutation