Skip to content

feat(sdk): add input validation and improve error reporting#5120

Merged
adrians5j merged 44 commits intonextfrom
adrian/sdk-err-reporting-2026-04-20
Apr 30, 2026
Merged

feat(sdk): add input validation and improve error reporting#5120
adrians5j merged 44 commits intonextfrom
adrian/sdk-err-reporting-2026-04-20

Conversation

@adrians5j
Copy link
Copy Markdown
Member

@adrians5j adrians5j commented Apr 20, 2026

What changed

The CMS and File Manager SDK methods are now significantly more robust and easier to use:

  • Immediate input validation: Passing wrong types (e.g. `limit: "sd"`, `search: false`, `fields: []`) now returns a `ValidationError` before any network request is made.
  • Meaningful errors on invalid fields: Using a misspelled field (`values.typo`), an object-type field as a leaf (`values.category`), or an unknown `where` filter key (`tags_2in`) now returns a descriptive error instead of silently returning zero results.
  • No more `GraphQLError` in the public API: The error class has been renamed to `ApiError` — the transport layer is an implementation detail.
  • Typed `meta` on CMS entries: `CmsEntryData` now has a typed `meta` object (`status`, `modelId`, `version`, `locked`, `title`, `description`, `image`, `data`) matching the Manage API's `${ModelName}Meta` GraphQL type.

These improvements cover all CMS methods (`listEntries`, `getEntry`, `createEntry`, `updateEntryRevision`, `publishEntryRevision`, `unpublishEntryRevision`, `deleteEntryRevision`), File Manager methods (`listFiles`, `getFile`, `updateFile`), Tasks, and TenantManager methods.

Screenshot

image

Changelog

Improved CMS and File Manager SDK Error Reporting and Input Validation

When using the CMS or File Manager SDK, invalid input (wrong parameter types, misspelled field names, object-type fields used without sub-selection, or unknown filter keys) now produces clear, descriptive errors immediately — instead of silently returning empty results or waiting for a server round-trip. The public error type is now `ApiError` rather than `GraphQLError`.

Squash Merge Commit

feat(sdk): add input validation and improve error reporting (#5120)

@adrians5j adrians5j added this to the 6.3.0 milestone Apr 20, 2026
adrians5j and others added 28 commits April 21, 2026 13:25
…ing-2026-04-20

# Conflicts:
#	cypress-tests/package.json
#	package.json
#	packages/admin-ui/package.json
#	packages/api-aco/package.json
#	packages/api-audit-logs/package.json
#	packages/api-core/package.json
#	packages/api-elasticsearch-tasks/package.json
#	packages/api-file-manager-aco/package.json
#	packages/api-file-manager-s3/package.json
#	packages/api-headless-cms-bulk-actions/package.json
#	packages/api-headless-cms-ddb-es/package.json
#	packages/api-headless-cms-ddb/package.json
#	packages/api-headless-cms-es-tasks/package.json
#	packages/api-headless-cms-import-export/package.json
#	packages/api-headless-cms-scheduler/package.json
#	packages/api-headless-cms-tasks/package.json
#	packages/api-headless-cms-workflows/package.json
#	packages/api-headless-cms/package.json
#	packages/api-mailer/package.json
#	packages/api-opensearch/package.json
#	packages/api-record-locking/package.json
#	packages/api-scheduler/package.json
#	packages/api-sync-system/package.json
#	packages/api-website-builder-scheduler/package.json
#	packages/api-website-builder-workflows/package.json
#	packages/api-website-builder/package.json
#	packages/api-websockets/package.json
#	packages/api-workflows/package.json
#	packages/api/package.json
#	packages/app-aco/package.json
#	packages/app-admin/package.json
#	packages/app-file-manager/package.json
#	packages/app-headless-cms/package.json
#	packages/app-website-builder/package.json
#	packages/app/package.json
#	packages/aws-sdk/package.json
#	packages/create-webiny-project/package.json
#	packages/db-dynamodb/package.json
#	packages/form/package.json
#	packages/handler-aws/package.json
#	packages/handler-graphql/package.json
#	packages/handler/package.json
#	packages/i18n/package.json
#	packages/languages/package.json
#	packages/plugins/package.json
#	packages/react-composition/package.json
#	packages/react-properties/package.json
#	packages/react-rich-text-lexical-renderer/package.json
#	packages/sdk/package.json
#	packages/tasks/package.json
#	packages/utils/package.json
#	packages/validation/package.json
#	packages/website-builder-nextjs/package.json
#	packages/website-builder-react/package.json
#	packages/website-builder-sdk/package.json
#	yarn.lock
@adrians5j adrians5j changed the title adrian/sdk-err-reporting-2026-04-20 feat(sdk): add input validation and improve error reporting Apr 30, 2026
@adrians5j adrians5j merged commit bf86c59 into next Apr 30, 2026
26 checks passed
@adrians5j adrians5j deleted the adrian/sdk-err-reporting-2026-04-20 branch April 30, 2026 10:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants