You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* For each of the project's locales, the default metadata to apply if nothing is specified at record's level.
8344
+
* Per-asset default metadata applied when no record-level overrides are present. `alt`, `title`, and `custom_data` are objects keyed by locale; `focal_point` is non-localized — a single value per asset, applied across every locale (only meaningful for image assets).
8345
+
*
8346
+
* > [!PROTIP] 📘 Requires the `non_localized_focal_points` environment opt-in
8347
+
* > This shape is returned and accepted in environments where the opt-in is active. The opt-in is the path forward and will become the default for all projects. Environments where it is still inactive use a legacy locale-keyed shape under the hood (kept working for compatibility) — opt in to align with this documentation.
8345
8348
*/
8346
8349
default_field_metadata: {
8350
+
alt: LocalizedAlt;
8351
+
title: LocalizedTitle;
8352
+
custom_data: LocalizedCustomData;
8347
8353
/**
8348
-
* This interface was referenced by `undefined`'s JSON-Schema definition
8349
-
* via the `patternProperty` "^(?<languagecode>[a-z]{0,3}(-[A-Za-z]+)?(-[A-Z]{0,3})?)$".
8354
+
* Focal point — non-localized; a single value applies across every locale (only meaningful for image assets)
8350
8355
*/
8351
-
[k: string]: {
8352
-
/**
8353
-
* Alternate text for the asset
8354
-
*/
8355
-
alt: string|null;
8356
+
focal_point: {
8356
8357
/**
8357
-
* Title for the asset
8358
+
* Horizontal position expressed as float between 0 and 1
8358
8359
*/
8359
-
title: string|null;
8360
+
x: number;
8360
8361
/**
8361
-
* Object with arbitrary metadata
8362
+
* Vertical position expressed as float between 0 and 1
8362
8363
*/
8363
-
custom_data: {
8364
-
[k: string]: unknown;
8365
-
};
8366
-
/**
8367
-
* Focal point (only for image assets)
8368
-
*/
8369
-
focal_point: {
8370
-
/**
8371
-
* Horizontal position expressed as float between 0 and 1
8372
-
*/
8373
-
x: number;
8374
-
/**
8375
-
* Vertical position expressed as float between 0 and 1
8376
-
*/
8377
-
y: number;
8378
-
}|null;
8379
-
};
8364
+
y: number;
8365
+
}|null;
8380
8366
};
8381
8367
/**
8382
8368
* Is this upload an image?
@@ -8442,6 +8428,44 @@ export type UploadCreateJobSchema = Upload;
8442
8428
exporttypeUploadSelfTargetSchema=Upload;
8443
8429
exporttypeUploadDestroyTargetSchema=Upload;
8444
8430
exporttypeUploadUpdateJobSchema=Upload;
8431
+
/**
8432
+
* Alternate text per locale
8433
+
*/
8434
+
exporttypeLocalizedAlt={
8435
+
/**
8436
+
* Alternate text for the asset in this locale
8437
+
*
8438
+
* This interface was referenced by `LocalizedAlt`'s JSON-Schema definition
8439
+
* via the `patternProperty` "^(?<languagecode>[a-z]{0,3}(-[A-Za-z]+)?(-[A-Z]{0,3})?)$".
8440
+
*/
8441
+
[k: string]: string|null;
8442
+
};
8443
+
/**
8444
+
* Title per locale
8445
+
*/
8446
+
exporttypeLocalizedTitle={
8447
+
/**
8448
+
* Title for the asset in this locale
8449
+
*
8450
+
* This interface was referenced by `LocalizedTitle`'s JSON-Schema definition
8451
+
* via the `patternProperty` "^(?<languagecode>[a-z]{0,3}(-[A-Za-z]+)?(-[A-Z]{0,3})?)$".
8452
+
*/
8453
+
[k: string]: string|null;
8454
+
};
8455
+
/**
8456
+
* Object with arbitrary metadata, per locale
8457
+
*/
8458
+
exporttypeLocalizedCustomData={
8459
+
/**
8460
+
* Arbitrary metadata for the asset in this locale
8461
+
*
8462
+
* This interface was referenced by `LocalizedCustomData`'s JSON-Schema definition
8463
+
* via the `patternProperty` "^(?<languagecode>[a-z]{0,3}(-[A-Za-z]+)?(-[A-Z]{0,3})?)$".
8464
+
*/
8465
+
[k: string]: {
8466
+
[k: string]: unknown;
8467
+
};
8468
+
};
8445
8469
/**
8446
8470
* Meta attributes
8447
8471
*
@@ -8557,42 +8581,28 @@ export type UploadAttributes = {
8557
8581
*/
8558
8582
mux_mp4_highest_res: null|'high'|'medium'|'low';
8559
8583
/**
8560
-
* For each of the project's locales, the default metadata to apply if nothing is specified at record's level.
8584
+
* Per-asset default metadata applied when no record-level overrides are present. `alt`, `title`, and `custom_data` are objects keyed by locale; `focal_point` is non-localized — a single value per asset, applied across every locale (only meaningful for image assets).
8585
+
*
8586
+
* > [!PROTIP] 📘 Requires the `non_localized_focal_points` environment opt-in
8587
+
* > This shape is returned and accepted in environments where the opt-in is active. The opt-in is the path forward and will become the default for all projects. Environments where it is still inactive use a legacy locale-keyed shape under the hood (kept working for compatibility) — opt in to align with this documentation.
8561
8588
*/
8562
8589
default_field_metadata: {
8590
+
alt: LocalizedAlt;
8591
+
title: LocalizedTitle;
8592
+
custom_data: LocalizedCustomData;
8563
8593
/**
8564
-
* This interface was referenced by `undefined`'s JSON-Schema definition
8565
-
* via the `patternProperty` "^(?<languagecode>[a-z]{0,3}(-[A-Za-z]+)?(-[A-Z]{0,3})?)$".
8594
+
* Focal point — non-localized; a single value applies across every locale (only meaningful for image assets)
8566
8595
*/
8567
-
[k: string]: {
8568
-
/**
8569
-
* Alternate text for the asset
8570
-
*/
8571
-
alt: string|null;
8596
+
focal_point: {
8572
8597
/**
8573
-
* Title for the asset
8598
+
* Horizontal position expressed as float between 0 and 1
8574
8599
*/
8575
-
title: string|null;
8600
+
x: number;
8576
8601
/**
8577
-
* Object with arbitrary metadata
8602
+
* Vertical position expressed as float between 0 and 1
8578
8603
*/
8579
-
custom_data: {
8580
-
[k: string]: unknown;
8581
-
};
8582
-
/**
8583
-
* Focal point (only for image assets)
8584
-
*/
8585
-
focal_point: {
8586
-
/**
8587
-
* Horizontal position expressed as float between 0 and 1
8588
-
*/
8589
-
x: number;
8590
-
/**
8591
-
* Vertical position expressed as float between 0 and 1
8592
-
*/
8593
-
y: number;
8594
-
}|null;
8595
-
};
8604
+
y: number;
8605
+
}|null;
8596
8606
};
8597
8607
/**
8598
8608
* Is this upload an image?
@@ -8685,42 +8695,25 @@ export type UploadCreateSchema = {
8685
8695
*/
8686
8696
notes?: string|null;
8687
8697
/**
8688
-
* For each of the project's locales, the default metadata to apply if nothing is specified at record's level.
8698
+
* Patch the asset's default metadata. Send any subset of `alt`/`title`/`custom_data`/`focal_point` — missing keys preserve their stored values. See the response shape for the full structure and per-key semantics.
8689
8699
*/
8690
8700
default_field_metadata?: {
8701
+
alt?: LocalizedAlt;
8702
+
title?: LocalizedTitle;
8703
+
custom_data?: LocalizedCustomData;
8691
8704
/**
8692
-
* This interface was referenced by `undefined`'s JSON-Schema definition
8693
-
* via the `patternProperty` "^(?<languagecode>[a-z]{0,3}(-[A-Za-z]+)?(-[A-Z]{0,3})?)$".
8705
+
* Focal point — non-localized; a single value applies across every locale (only meaningful for image assets)
8694
8706
*/
8695
-
[k: string]: {
8707
+
focal_point?: {
8696
8708
/**
8697
-
* Alternate text for the asset
8709
+
* Horizontal position expressed as float between 0 and 1
8698
8710
*/
8699
-
alt?: string|null;
8711
+
x: number;
8700
8712
/**
8701
-
* Title for the asset
8713
+
* Vertical position expressed as float between 0 and 1
8702
8714
*/
8703
-
title?: string|null;
8704
-
/**
8705
-
* Object with arbitrary metadata
8706
-
*/
8707
-
custom_data?: {
8708
-
[k: string]: unknown;
8709
-
};
8710
-
/**
8711
-
* Focal point (only for image assets)
8712
-
*/
8713
-
focal_point?: {
8714
-
/**
8715
-
* Horizontal position expressed as float between 0 and 1
8716
-
*/
8717
-
x: number;
8718
-
/**
8719
-
* Vertical position expressed as float between 0 and 1
8720
-
*/
8721
-
y: number;
8722
-
}|null;
8723
-
};
8715
+
y: number;
8716
+
}|null;
8724
8717
};
8725
8718
/**
8726
8719
* Tags
@@ -8760,42 +8753,25 @@ export type UploadUpdateSchema = {
8760
8753
*/
8761
8754
tags?: string[];
8762
8755
/**
8763
-
* For each of the project's locales, the default metadata to apply if nothing is specified at record's level.
8756
+
* Patch the asset's default metadata. Send any subset of `alt`/`title`/`custom_data`/`focal_point` — missing keys preserve their stored values. See the response shape for the full structure and per-key semantics.
8764
8757
*/
8765
8758
default_field_metadata?: {
8759
+
alt?: LocalizedAlt;
8760
+
title?: LocalizedTitle;
8761
+
custom_data?: LocalizedCustomData;
8766
8762
/**
8767
-
* This interface was referenced by `undefined`'s JSON-Schema definition
8768
-
* via the `patternProperty` "^(?<languagecode>[a-z]{0,3}(-[A-Za-z]+)?(-[A-Z]{0,3})?)$".
8763
+
* Focal point — non-localized; a single value applies across every locale (only meaningful for image assets)
8769
8764
*/
8770
-
[k: string]: {
8765
+
focal_point?: {
8771
8766
/**
8772
-
* Alternate text for the asset
8767
+
* Horizontal position expressed as float between 0 and 1
8773
8768
*/
8774
-
alt?: string|null;
8769
+
x: number;
8775
8770
/**
8776
-
* Title for the asset
8771
+
* Vertical position expressed as float between 0 and 1
8777
8772
*/
8778
-
title?: string|null;
8779
-
/**
8780
-
* Object with arbitrary metadata
8781
-
*/
8782
-
custom_data?: {
8783
-
[k: string]: unknown;
8784
-
};
8785
-
/**
8786
-
* Focal point (only for image assets)
8787
-
*/
8788
-
focal_point?: {
8789
-
/**
8790
-
* Horizontal position expressed as float between 0 and 1
8791
-
*/
8792
-
x: number;
8793
-
/**
8794
-
* Vertical position expressed as float between 0 and 1
8795
-
*/
8796
-
y: number;
8797
-
}|null;
8798
-
};
8773
+
y: number;
8774
+
}|null;
8799
8775
};
8800
8776
creator?:
8801
8777
|AccountData
@@ -11710,6 +11686,10 @@ export type SiteMeta = {
11710
11686
* Whether the [Milliseconds in datetime](https://www.datocms.com/product-updates/milliseconds-in-datetime) opt-in product update is active or not
11711
11687
*/
11712
11688
milliseconds_in_datetime: boolean;
11689
+
/**
11690
+
* Whether the non-localized focal points opt-in is active for the environment. When active, an upload's `focal_point` is stored once per asset rather than once per locale, and the CMA `default_field_metadata` attribute is exposed in its field-keyed shape (with `alt`/`title`/`custom_data` keyed by locale and a single top-level `focal_point`). When inactive, the CMA continues to accept and return the legacy locale-keyed shape — the single stored focal_point is replicated into every locale entry on read. The CDA's behavior is unaffected: it already returns a single `focalPoint` value.
11691
+
*/
11692
+
non_localized_focal_points: boolean;
11713
11693
};
11714
11694
/**
11715
11695
* JSON API data
@@ -12073,6 +12053,10 @@ export type SiteUpdateSchema = {
12073
12053
* Whether the [Milliseconds in datetime](https://www.datocms.com/product-updates/milliseconds-in-datetime) opt-in product update is active or not
12074
12054
*/
12075
12055
milliseconds_in_datetime?: boolean;
12056
+
/**
12057
+
* Whether the non-localized focal points opt-in is active for the environment. When active, an upload's `focal_point` is stored once per asset rather than once per locale, and the CMA `default_field_metadata` attribute is exposed in its field-keyed shape (with `alt`/`title`/`custom_data` keyed by locale and a single top-level `focal_point`). When inactive, the CMA continues to accept and return the legacy locale-keyed shape — the single stored focal_point is replicated into every locale entry on read. The CDA's behavior is unaffected: it already returns a single `focalPoint` value.
0 commit comments