Budibase/budibase · error · HTTPError
Project import does not support resource type '${resourceTyp
Error message
Project import does not support resource type '${resourceType}'. What it means
The import's ID-generation switch only handles a known set of resource types (TABLE, QUERY, AUTOMATION, ROW_ACTION, WORKSPACE_APP, SCREEN, etc.). If a document carries a resourceType outside that set, the default branch throws this 400 error. It guards against importing unsupported or newer resource kinds into a server that cannot handle them.
Source
Thrown at packages/server/src/sdk/workspace/projects/backups/imports.ts:638
}
case ResourceType.AUTOMATION:
return generateAutomationID()
case ResourceType.ROW_ACTION: {
const tableId = idMap.get(extractTableIdFromRowActionsID(doc._id!))
if (!tableId) {
throw new HTTPError(
`Project import could not remap table for row actions '${doc._id}'.`,
400
)
}
return generateRowActionsID(tableId)
}
case ResourceType.WORKSPACE_APP:
return docIds.generateWorkspaceAppID()
case ResourceType.SCREEN:
return generateScreenID()
default:
throw new HTTPError(
`Project import does not support resource type '${resourceType}'.`,
400
)
}
}
const validateManifest = (manifest: ProjectPackageManifest) => {
if (!isRecord(manifest)) {
throw new HTTPError("Project package manifest is invalid.", 400)
}
if (manifest.artifactType !== "project") {
throw new HTTPError("Supplied file is not a Project package.", 400)
}
if (manifest.formatVersion !== PROJECT_EXPORT_FORMAT_VERSION) {
throw new HTTPError(
`Unsupported Project package format version '${manifest.formatVersion}'.`,
400
)View on GitHub (pinned to a81a902e9a)
Solutions
- Upgrade the server to the version that supports the resource type in the package.
- Check the manifest's unsupportedContent list — these resources are deliberately excluded and should not appear as importable docs.
- Re-export from a workspace running the target server version.
- Remove unknown-type docs from the package if the feature is not needed.
Example fix
// before: importing package with resourceType "datasource_plus_v2" on older server
// after: upgrade server, or strip unknown docs from the package
{ "unsupportedContent": [{ "type": "datasource_plus_v2", "count": 3, "reason": "newer export" }] } Defensive patterns
Strategy: validation
Validate before calling
const supported = new Set(["table","query","automation","row_action","workspace_app","screen","datasource"])
for (const type of Object.keys(manifest.resourcesByType)) {
if (!supported.has(type)) throw new Error(`Package contains unsupported resource type: ${type}`)
} Try / catch
try {
await importProjectPackage(file)
} catch (err) {
if (err instanceof HTTPError && err.status === 400 && err.message.includes("does not support resource type")) {
// inform user to upgrade server or strip the resource type
}
throw err
} Prevention
- Keep server and workspace versions aligned before export/import
- Check unsupportedContent in the manifest before importing
- Never import exports from newer versions into older servers
When it happens
Trigger: Importing a project package exported from a newer Budibase version that contains resource types this server build doesn't recognize; a corrupted manifest where resourcesByType lists an unknown type; docs with a missing/garbled resourceType field.
Common situations: Rolling back a server to an older version and importing exports produced by a newer one; third-party generated packages with custom resource types; partially upgraded environments.
Related errors
- Unsupported Project package format version '${manifest.forma
- Project import could not remap datasource for query '${doc._
- Project package manifest is invalid.
- Supplied file is not a Project package.
- Project package project.json is invalid.
AI-assisted analysis of Budibase/budibase@a81a902e9a (2026-08-29).
Data as JSON: /api/errors/6397062268f1cd34.
Report an issue: GitHub.