Hi DatoCMS team ![]()
I’d love to propose a feature inspired by Contentful’s “Omit from API response” capability, where you can configure a field so that it’s still editable in the CMS but no longer returned by the Delivery or Preview APIs.
What Contentful does today
In Contentful, you can go to a field’s settings and choose “Omit from API response”, which:
-
Removes the field from Content Delivery API and Preview API responses
-
Keeps the field visible and editable inside the CMS UI
-
Allows you to preview what consumers will see before deleting the field entirely
This two-step workflow helps avoid breaking frontend integrations when evolving your schema.
Why this would help in DatoCMS
Right now, removing a field in DatoCMS means an immediate change in the API schema, which can cause issues when:
-
Multiple frontends/apps/servers depend on the same model
-
Rollouts of client changes are staggered
-
You want a safe deprecation period before a breaking deletion
What would be really useful is a field-level toggle such as:
-
Expose in API: On / Off
-
Or Deprecated / Omitted status
-
When “Off”, the field is excluded from both GraphQL and REST API responses
-
The actual data stays in the CMS until permanently deleted
-
Editors and developers can verify clients are ready before final removal
-
Example workflow
-
Mark field as “Omit from API response”
-
API stops returning the field (GraphQL/REST)
-
Clients update code at their own pace without breakages
-
Once ready → delete the field entirely
Benefits
-
Zero-breaking-change deprecations
-
Safer schema evolutions for multi-consumer projects
-
Better control over backwards compatibility
-
Easier testing of client readiness before destructive migrations
Questions for the community
-
Is something like this already discussed or on the roadmap?
-
Are there current workarounds that teams use today?
-
How are others handling safe field deprecations with DatoCMS?
Appreciate any feedback, thanks! ![]()