App manifest reference
Description: Defines your App's metadata, deployment configuration, settings, and permissions.
Example:
{
"id": "ACj4U-eThgmjXUOBAjk_jw",
"version": "1.0.0",
"package": {
"client": {
"deploy": "client/dist"
},
"server": {
"launch": "server/dist/myServerMain.js",
"deploy": [
"server/dist",
"networking/gen/server"
],
"node_modules": [
"server/node_modules"
]
}
}
}
[Required] Property id
Title: Id
Type stringRequired Yes Defined in id.schema.json Description: Unique identifier obtained from the Root Developer Portal.
Example:
{
"id": "ACj4U-eThgmjXUOBAjk_jw"
}
[Required] Property version
Title: Version
Type stringRequired Yes Defined in version.schema.json Description: Semantic version string (e.g., MAJOR.MINOR.PATCH). Your version number must be unique for each release; that is, you cannot republish a new package with a previously-used version number.
Example:
{
"version": "1.0.0"
}
[Required] Property package
Title: Package
Type objectRequired Yes Additional properties Not allowed Defined in package.app.schema.json Description: Deployment and startup configuration for your App's client and server code.
Example:
{
"package": {
"client": {
"deploy": "client/dist"
},
"server": {
"launch": "server/dist/myAppMain.js",
"deploy": [
"server/dist",
"networking/gen/server"
],
"node_modules": [
"server/node_modules"
]
}
}
}
[Required] Property client
Type objectRequired Yes Additional properties Not allowed Description: Client-side build output for deployment.
[Required] Property server
Type objectRequired Yes Additional properties Not allowed Description: Configuration for launching and packaging your server.
[Required] Property launch
Type stringRequired Yes Description: Entry point to launch the server process (must be a .js file).
Example:
"server/dist/myAppMain.js"
[Required] Property deploy
Type array of stringRequired Yes Description: List of server folders to include in deployment.
Each item of this array must be Description deploy items - deploy items
Type stringRequired No Example:
[
"server/dist",
"networking/gen/server"
]
[Required] Property node_modules
Type array of stringRequired Yes Description: List of server-side node_modules folders that must be deployed.
Each item of this array must be Description node_modules items - node_modules items
Type stringRequired No Example:
[
"server/node_modules"
]
[Optional] Property settings
Title: Settings
Type objectRequired No Additional properties Not allowed Defined in settings.schema.json Description: Configurable global settings available to community administrators during and after installation.
Example:
{
"groups": [
{
"key": "general",
"title": "General",
"items": [
{
"key": "notifyOnJoin",
"title": "Notify on new join",
"description": "Send a message when someone joins the raid.",
"required": false,
"confirmation": "Update",
"checkbox": {
"defaultValue": true
}
}
]
}
]
}
[Required] Property groups
Type array of objectRequired Yes Description: Logical grouping of settings fields.
Each item of this array must be Description groups items - groups items
Type objectRequired No Additional properties Any type allowed
[Required] Property key
Type stringRequired Yes Description: Machine-friendly identifier for this group.
Examples:
"general""notifications"
[Required] Property title
Type stringRequired Yes Description: Human-readable title shown above this group.
Examples:
"General Settings""Notification Preferences"
[Required] Property items
Type array of objectRequired Yes Description: List of individual setting definitions in this group.
Each item of this array must be Description items items - items items
Type objectRequired No Additional properties Not allowed
[Required] Property key
Type stringRequired Yes Description: Machine-friendly setting identifier.
Examples:
"maxRaidSize""notifyOnJoin"
[Required] Property title
Type stringRequired Yes Description: Label shown to the user for this setting.
Examples:
"Maximum raid size""Notify on new join"
[Optional] Property description
Type string or nullRequired No Description: Optional explanatory text for this setting.
Examples:
"Set the upper limit for raid participants."null
[Required] Property required
Type booleanRequired Yes Description: Whether the user must provide a value.
Examples:
truefalse
[Required] Property confirmation
Type stringRequired Yes Description: Text for the button users click to save this setting.
Examples:
"Save""Update"
[Optional] Property text
[Optional] Property number
[Optional] Property member
Type object or nullRequired No Description: Select one or more community members.
[Optional] Property multiSelect
Type booleanRequired No Description: Allow multiple selections.
Examples:
falsetrue
[Optional] Property userIds
Type array of stringRequired No Description: Pre-selected user IDs.
Each item of this array must be Description userIds items - userIds items
Type stringRequired No Example:
[
"user-123",
"user-456"
]
[Optional] Property role
Type object or nullRequired No Description: Select one or more community roles.
[Optional] Property multiSelect
Type booleanRequired No Description: Allow multiple role selections.
Examples:
falsetrue
[Optional] Property communityRoleIds
Type array of stringRequired No Description: Pre-selected role IDs.
Each item of this array must be Description communityRoleIds items - communityRoleIds items
Type stringRequired No Example:
[
"role-abc",
"role-def"
]
[Optional] Property roleAndMember
Type object or nullRequired No Description: Combined selector for users and roles.
[Optional] Property userIds
Type array of stringRequired No
Each item of this array must be Description userIds items - userIds items
Type stringRequired No Example:
[
"user-1"
]
[Optional] Property communityRoleIds
Type array of stringRequired No
Each item of this array must be Description communityRoleIds items - communityRoleIds items
Type stringRequired No Example:
[
"role-x"
]
[Optional] Property channel
Type object or nullRequired No Description: Select one or more channels.
[Optional] Property multiSelect
Type booleanRequired No Description: Allow multiple channels.
Example:
true
[Optional] Property channelIds
Type array of stringRequired No
Each item of this array must be Description channelIds items - channelIds items
Type stringRequired No Example:
[
"chan-1",
"chan-2"
]
[Optional] Property channelGroup
Type object or nullRequired No Description: Select one or more channel groups.
[Optional] Property multiSelect
Type booleanRequired No Description: Allow multiple groups.
Example:
false
[Optional] Property channelGroupIds
Type array of stringRequired No
Each item of this array must be Description channelGroupIds items - channelGroupIds items
Type stringRequired No Example:
[
"grp-1"
]
[Optional] Property select
Type object or nullRequired No Description: Select from a custom list of options.
[Optional] Property multiSelect
Type booleanRequired No Description: Allow multiple options.
Example:
false
[Optional] Property options
Type array of objectRequired No Description: List of label/value pairs.
Each item of this array must be Description options items - options items
Type objectRequired No Additional properties Not allowed
[Optional] Property timestamp
Type object or nullRequired No Description: Raw timestamp object (ISO 8601).
Example:
{
"$date": "2025-08-05T00:00:00Z"
}
[Optional] Property permissions
Title: Permission
Type objectRequired No Additional properties Not allowed Defined in permissions.schema.json Description: The permissions your code requires in order to function correctly.
Example:
{
"permissions": {
"channel": {
"channelFullControl": true,
"channelView": true
},
"community": {
"communityFullControl": false
}
}
}
[Optional] Property community
Type objectRequired No Additional properties Not allowed Description: Permissions scoped to the community level.
[Optional] Property communityChangeMyNickname
Type booleanRequired No Default falseDescription: Change your own nickname.
[Optional] Property communityChangeOtherNickname
Type booleanRequired No Default falseDescription: Change nicknames of other members.
[Optional] Property communityCreateBan
Type booleanRequired No Default falseDescription: Ban members from the community.
[Optional] Property communityCreateChannelGroup
Type booleanRequired No Default falseDescription: Create new channel groups.
[Optional] Property communityCreateInvite
Type booleanRequired No Default falseDescription: Generate new community invites.
[Optional] Property communityFullControl
Type booleanRequired No Default falseDescription: All community-level permissions.
[Optional] Property communityKick
Type booleanRequired No Default falseDescription: Remove members from the community.
[Optional] Property communityManageApps
Type booleanRequired No Default falseDescription: Install or remove apps in the community.
[Optional] Property communityManageAuditLog
Type booleanRequired No Default falseDescription: View or clear the audit log.
[Optional] Property communityManageBans
Type booleanRequired No Default falseDescription: Unban or list banned members.
[Optional] Property communityManageCommunity
Type booleanRequired No Default falseDescription: Manage overall community settings.
[Optional] Property communityManageEmojis
Type booleanRequired No Default falseDescription: Upload or remove custom emojis.
[Optional] Property channel
Type objectRequired No Additional properties Not allowed Description: Permissions scoped to individual channels.
[Optional] Property channelAppKick
Type booleanRequired No Default falseDescription: Remove apps from the channel.
[Optional] Property channelCreateFile
Type booleanRequired No Default falseDescription: Create new files in channels.
[Optional] Property channelCreateMessage
Type booleanRequired No Default falseDescription: Send new messages.
[Optional] Property channelCreateMessageAttachment
Type booleanRequired No Default falseDescription: Attach files to messages.
[Optional] Property channelCreateMessageMention
Type booleanRequired No Default falseDescription: Mention users in messages.
[Optional] Property channelCreateMessageReaction
Type booleanRequired No Default falseDescription: React to messages.
[Optional] Property channelDeleteMessageOther
Type booleanRequired No Default falseDescription: Delete messages sent by others.
[Optional] Property channelFullControl
Type booleanRequired No Default falseDescription: All channel permissions.
[Optional] Property channelMakeMessagePublic
Type booleanRequired No Default falseDescription: Convert private messages to public.
[Optional] Property channelManageFiles
Type booleanRequired No Default falseDescription: Upload or download files in channels.
[Optional] Property channelManagePinnedMessages
Type booleanRequired No Default falseDescription: Pin or unpin messages.
[Optional] Property channelMoveUserOther
Type booleanRequired No Default falseDescription: Move other users between voice channels.
[Optional] Property channelUseExternalEmoji
Type booleanRequired No Default falseDescription: Use emojis from other servers.
[Optional] Property channelVideoStreamMedia
Type booleanRequired No Default falseDescription: Stream video in channels.
[Optional] Property channelView
Type booleanRequired No Default falseDescription: Ability to view channel content.
[Optional] Property channelViewFile
Type booleanRequired No Default falseDescription: View files shared in channels.
[Optional] Property channelViewMessageHistory
Type booleanRequired No Default falseDescription: Read past messages.
[Optional] Property channelVoiceDeafenOther
Type booleanRequired No Default falseDescription: Deafen other users in voice channels.
[Optional] Property channelVoiceKick
Type booleanRequired No Default falseDescription: Kick users from voice channels.