A tidier CMA format for focal points
Focal points are now non-localized: every asset has a single focal point, shared across all locales. That change is already live in every project and asks nothing of you. (If you missed it, here's the full story.)
This post is about the one part that is opt-in: the shape of default_field_metadata in the Content Management API.
By default, nothing changes for your integrations. The CMA keeps returning and accepting the existing locale-keyed shape, so your current code keeps working untouched. The only difference is that the focal point is now the same value in every locale entry: the one real value, replicated for backward compatibility.
When you want an API that reflects the new reality, opt in. With the flag on, default_field_metadata switches to a field-keyed shape: alt, title, and custom_data remain locale-keyed, but focal_point appears once at the top level. The legacy locale-keyed shape is then no longer accepted on write, so update any code that writes default_field_metadata to the new shape before you activate it.
Before opt-in migration: Current locale-keyed shape
{ "data": { "id": "12345678", "type": "upload", "attributes": { "default_field_metadata": { // Locales first, then fields "en": { // Primary locale "alt": "English alt text", "title": "English title", "custom_data": { "english_custom_data": "hi" }, "focal_point": { "x": 0.12, "y": 0.34 } }, "it": { "alt": "Italian alt text", "title": "Italian title", "custom_data": { "italian_custom_data": "ciao" }, "focal_point": { // This is silently ignored now; overridden by primary "x": 0.56, "y": 0.78 } } } } }}After opt-in migration: New field-keyed shape
{ "data": { "id": "12345678", "type": "upload", "attributes": { "default_field_metadata": { // Fields first, then locales "alt": { "en": "English alt text", "it": "Italian alt text" }, "title": { "en": "English title", "it": "Italian title" }, "custom_data": { "en": { "english_custom_data": "hi" }, "it": { "italian_custom_data": "ciao" } }, "focal_point": { // No longer locale-specific "x": 0.12, "y": 0.34 } } } }}Activating the opt-in
Existing Projects (created before 2026-06-11)
In an environment's Configuration screen (not Project settings), under Available updates, you should see a new opt-in update:
It's set per environment, and it's a one-way switch: once non_localized_focal_points is on, you can't turn it back off. If you have integrations that write default_field_metadata through the CMA, we strongly recommend enabling it first in a separate Sandbox environment, updating and verifying your integrations there, and only then activating it on your primary environment.
If you don't write this data programmatically, there's nothing to do here. The default shape continues to work, and the focal point is already consolidated across all assets.
New projects (created after 2026-06-11)
The opt-in is automatically enabled for new projects and will use the new field-keyed format.