datocms-plugin-sdk 0.5.3 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,10 +16,10 @@ export declare type RoleIdentity = string;
16
16
  /**
17
17
  * ID of item type
18
18
  *
19
- * This interface was referenced by `ModelBlock`'s JSON-Schema via the
19
+ * This interface was referenced by `ItemType`'s JSON-Schema via the
20
20
  * `definition` "identity".
21
21
  *
22
- * This interface was referenced by `ModelBlock`'s JSON-Schema via the `definition` "id".
22
+ * This interface was referenced by `ItemType`'s JSON-Schema via the `definition` "id".
23
23
  */
24
24
  export declare type ItemTypeIdentity = string;
25
25
  /**
@@ -64,6 +64,16 @@ export declare type UserType = 'user';
64
64
  * This interface was referenced by `User`'s JSON-Schema via the `definition` "id".
65
65
  */
66
66
  export declare type UserIdentity = string;
67
+ /** This interface was referenced by `User`'s JSON-Schema via the `self.hrefSchema` link. */
68
+ export declare type UserSelfHrefSchema = {
69
+ /**
70
+ * Comma-separated list of [relationship
71
+ * paths](https://jsonapi.org/format/#fetching-includes). A relationship path
72
+ * is a dot-separated list of relationship names. Allowed relationship paths: `role`.
73
+ */
74
+ include?: string;
75
+ [k: string]: unknown;
76
+ };
67
77
  /**
68
78
  * JSON API type field
69
79
  *
@@ -94,23 +104,56 @@ export declare type SsoGroupType = 'sso_group';
94
104
  * This interface was referenced by `SsoGroup`'s JSON-Schema via the `definition` "id".
95
105
  */
96
106
  export declare type SsoGroupIdentity = string;
107
+ /**
108
+ * This interface was referenced by `SsoUser`'s JSON-Schema via the
109
+ * `destroy.hrefSchema` link.
110
+ */
111
+ export declare type SsoUserDestroyHrefSchema = {
112
+ /**
113
+ * New owner for resources previously owned by the deleted SSO user. This
114
+ * argument specifies the new owner type.
115
+ */
116
+ destination_user_type?: 'account' | 'user' | 'access_token' | 'sso_user';
117
+ /**
118
+ * New owner for resources previously owned by the deleted SSO user. This
119
+ * argument specifies the new owner ID.
120
+ */
121
+ destination_user_id?: string;
122
+ [k: string]: unknown;
123
+ };
97
124
  /**
98
125
  * JSON API type field
99
126
  *
100
- * This interface was referenced by `AuditLogEvent`'s JSON-Schema via the
127
+ * This interface was referenced by `AccessToken`'s JSON-Schema via the
101
128
  * `definition` "type".
102
129
  */
103
- export declare type AuditLogEventType = 'audit_log_event';
130
+ export declare type AccessTokenType = 'access_token';
104
131
  /**
105
- * ULID of event (https://github.com/ulid/spec)
132
+ * ID of access_token
106
133
  *
107
- * This interface was referenced by `AuditLogEvent`'s JSON-Schema via the
134
+ * This interface was referenced by `AccessToken`'s JSON-Schema via the
108
135
  * `definition` "identity".
109
136
  *
110
- * This interface was referenced by `AuditLogEvent`'s JSON-Schema via the
111
- * `definition` "id".
137
+ * This interface was referenced by `AccessToken`'s JSON-Schema via the `definition` "id".
112
138
  */
113
- export declare type AuditLogEventIdentity = string;
139
+ export declare type AccessTokenIdentity = string;
140
+ /**
141
+ * This interface was referenced by `AccessToken`'s JSON-Schema via the
142
+ * `destroy.hrefSchema` link.
143
+ */
144
+ export declare type AccessTokenDestroyHrefSchema = {
145
+ /**
146
+ * New owner for resources previously owned by the deleted access token. This
147
+ * argument specifies the new owner type.
148
+ */
149
+ destination_user_type?: 'account' | 'user' | 'access_token' | 'sso_user';
150
+ /**
151
+ * New owner for resources previously owned by the deleted access token. This
152
+ * argument specifies the new owner ID.
153
+ */
154
+ destination_user_id?: string;
155
+ [k: string]: unknown;
156
+ };
114
157
  /**
115
158
  * JSON API type field
116
159
  *
@@ -126,6 +169,50 @@ export declare type AccountType = 'account';
126
169
  * This interface was referenced by `Account`'s JSON-Schema via the `definition` "id".
127
170
  */
128
171
  export declare type AccountIdentity = string;
172
+ /** This interface was referenced by `User`'s JSON-Schema via the `me.hrefSchema` link. */
173
+ export declare type UserMeHrefSchema = {
174
+ /**
175
+ * Comma-separated list of [relationship
176
+ * paths](https://jsonapi.org/format/#fetching-includes). A relationship path
177
+ * is a dot-separated list of relationship names. Allowed relationship paths: `role`.
178
+ */
179
+ include?: string;
180
+ [k: string]: unknown;
181
+ };
182
+ /**
183
+ * This interface was referenced by `User`'s JSON-Schema via the
184
+ * `destroy.hrefSchema` link.
185
+ */
186
+ export declare type UserDestroyHrefSchema = {
187
+ /**
188
+ * New owner for resources previously owned by the deleted user. This argument
189
+ * specifies the new owner type.
190
+ */
191
+ destination_user_type?: 'account' | 'user' | 'access_token' | 'sso_user';
192
+ /**
193
+ * New owner for resources previously owned by the deleted user. This argument
194
+ * specifies the new owner ID.
195
+ */
196
+ destination_user_id?: string;
197
+ [k: string]: unknown;
198
+ };
199
+ /**
200
+ * JSON API type field
201
+ *
202
+ * This interface was referenced by `AuditLogEvent`'s JSON-Schema via the
203
+ * `definition` "type".
204
+ */
205
+ export declare type AuditLogEventType = 'audit_log_event';
206
+ /**
207
+ * ULID of event (https://github.com/ulid/spec)
208
+ *
209
+ * This interface was referenced by `AuditLogEvent`'s JSON-Schema via the
210
+ * `definition` "identity".
211
+ *
212
+ * This interface was referenced by `AuditLogEvent`'s JSON-Schema via the
213
+ * `definition` "id".
214
+ */
215
+ export declare type AuditLogEventIdentity = string;
129
216
  /**
130
217
  * JSON API type field
131
218
  *
@@ -159,8 +246,7 @@ export declare type MenuItemIdentity = string;
159
246
  /**
160
247
  * JSON API type field
161
248
  *
162
- * This interface was referenced by `ModelBlock`'s JSON-Schema via the
163
- * `definition` "type".
249
+ * This interface was referenced by `ItemType`'s JSON-Schema via the `definition` "type".
164
250
  */
165
251
  export declare type ItemTypeType = 'item_type';
166
252
  /**
@@ -178,7 +264,7 @@ export declare type MenuItemInstancesHrefSchema = {
178
264
  *
179
265
  * This interface was referenced by `Item`'s JSON-Schema via the `definition` "type".
180
266
  */
181
- export declare type ItemType = 'item';
267
+ export declare type ItemType1 = 'item';
182
268
  /**
183
269
  * ID of record
184
270
  *
@@ -201,6 +287,21 @@ export declare type FieldType = 'field';
201
287
  * This interface was referenced by `Field`'s JSON-Schema via the `definition` "id".
202
288
  */
203
289
  export declare type FieldIdentity = string;
290
+ /**
291
+ * JSON API type fieldset
292
+ *
293
+ * This interface was referenced by `Fieldset`'s JSON-Schema via the `definition` "type".
294
+ */
295
+ export declare type FieldsetType = 'fieldset';
296
+ /**
297
+ * ID of fieldset
298
+ *
299
+ * This interface was referenced by `Fieldset`'s JSON-Schema via the
300
+ * `definition` "identity".
301
+ *
302
+ * This interface was referenced by `Fieldset`'s JSON-Schema via the `definition` "id".
303
+ */
304
+ export declare type FieldsetIdentity = string;
204
305
  /**
205
306
  * JSON API type field
206
307
  *
@@ -212,7 +313,7 @@ export declare type WorkflowType = 'workflow';
212
313
  *
213
314
  * This interface was referenced by `Job`'s JSON-Schema via the `definition` "type".
214
315
  */
215
- export declare type TargetSchemaPropertiesDataType = 'job';
316
+ export declare type JobType = 'job';
216
317
  /**
217
318
  * ID of job
218
319
  *
@@ -220,22 +321,7 @@ export declare type TargetSchemaPropertiesDataType = 'job';
220
321
  *
221
322
  * This interface was referenced by `Job`'s JSON-Schema via the `definition` "id".
222
323
  */
223
- export declare type TargetSchemaPropertiesDataIdentity = string;
224
- /**
225
- * JSON API type fieldset
226
- *
227
- * This interface was referenced by `Fieldset`'s JSON-Schema via the `definition` "type".
228
- */
229
- export declare type FieldsetType = 'fieldset';
230
- /**
231
- * ID of fieldset
232
- *
233
- * This interface was referenced by `Fieldset`'s JSON-Schema via the
234
- * `definition` "identity".
235
- *
236
- * This interface was referenced by `Fieldset`'s JSON-Schema via the `definition` "id".
237
- */
238
- export declare type FieldsetIdentity = string;
324
+ export declare type JobIdentity = string;
239
325
  /**
240
326
  * JSON API type field
241
327
  *
@@ -251,22 +337,6 @@ export declare type SessionType = 'session';
251
337
  * This interface was referenced by `Session`'s JSON-Schema via the `definition` "id".
252
338
  */
253
339
  export declare type SessionIdentity = string;
254
- /**
255
- * JSON API type field
256
- *
257
- * This interface was referenced by `AccessToken`'s JSON-Schema via the
258
- * `definition` "type".
259
- */
260
- export declare type AccessTokenType = 'access_token';
261
- /**
262
- * ID of access_token
263
- *
264
- * This interface was referenced by `AccessToken`'s JSON-Schema via the
265
- * `definition` "identity".
266
- *
267
- * This interface was referenced by `AccessToken`'s JSON-Schema via the `definition` "id".
268
- */
269
- export declare type AccessTokenIdentity = string;
270
340
  /**
271
341
  * JSON API type field
272
342
  *
@@ -401,9 +471,9 @@ export declare type ItemInstancesHrefSchema = {
401
471
  locale?: string;
402
472
  /** Attributes to manage results pagination */
403
473
  page?: {
404
- /** Index of first record to fetch. Default: 0 */
474
+ /** Index of first record to fetch (defaults to 0) */
405
475
  offset?: number;
406
- /** Number of records to fetch. Maximum is 500 per page, default is 30. */
476
+ /** Number of records to fetch (defaults to 30, maximum is 500) */
407
477
  limit?: number;
408
478
  [k: string]: unknown;
409
479
  };
@@ -509,6 +579,26 @@ export declare type ItemVersionType = 'item_version';
509
579
  * This interface was referenced by `ItemVersion`'s JSON-Schema via the `definition` "id".
510
580
  */
511
581
  export declare type ItemVersionIdentity = string;
582
+ /**
583
+ * This interface was referenced by `ItemVersion`'s JSON-Schema via the
584
+ * `instances.hrefSchema` link.
585
+ */
586
+ export declare type ItemVersionInstancesHrefSchema = {
587
+ /**
588
+ * For Modular Content fields and Structured Text fields. If set, returns full
589
+ * payload for nested blocks instead of IDs
590
+ */
591
+ nested?: string;
592
+ /** Attributes to manage results pagination */
593
+ page?: {
594
+ /** Index of first element to fetch (defaults to 0) */
595
+ offset?: number;
596
+ /** Number of elements to fetch (defaults to 15, maximum is 50) */
597
+ limit?: number;
598
+ [k: string]: unknown;
599
+ };
600
+ [k: string]: unknown;
601
+ };
512
602
  /**
513
603
  * JSON API type upload
514
604
  *
@@ -561,9 +651,9 @@ export declare type UploadInstancesHrefSchema = {
561
651
  order_by?: string;
562
652
  /** Attributes to manage results pagination */
563
653
  page?: {
564
- /** Index of first upload to fetch. Default: 0 */
654
+ /** Index of first upload to fetch (defaults to 0) */
565
655
  offset?: number;
566
- /** Number of uplads to fetch. Maximum is 500 per page, default is 30. */
656
+ /** Number of uplads to fetch (defaults to 30, maximum is 500) */
567
657
  limit?: number;
568
658
  [k: string]: unknown;
569
659
  };
@@ -683,8 +773,8 @@ export declare type SearchResultInstancesHrefSchema = {
683
773
  build_trigger_id?: string;
684
774
  /** Restrict the search on one locale */
685
775
  locale?: string;
686
- /** Maximum number of results to return (Max: 100, default: 20) */
687
- limit?: string;
776
+ /** Maximum number of results to return (defaults to 20, maximum is 100) */
777
+ limit?: number;
688
778
  /** Number of records to offset for the search */
689
779
  offset?: string;
690
780
  [k: string]: unknown;
@@ -753,6 +843,21 @@ export declare type WebhookCallType = 'webhook_call';
753
843
  * This interface was referenced by `WebhookCall`'s JSON-Schema via the `definition` "id".
754
844
  */
755
845
  export declare type WebhookCallIdentity = string;
846
+ /**
847
+ * This interface was referenced by `WebhookCall`'s JSON-Schema via the
848
+ * `instances.hrefSchema` link.
849
+ */
850
+ export declare type WebhookCallInstancesHrefSchema = {
851
+ /** Params to manage results pagination */
852
+ page?: {
853
+ /** Index of first element to fetch (defaults to 0) */
854
+ offset?: number;
855
+ /** Number of elements to fetch (defaults to 30, maximum is 500) */
856
+ limit?: number;
857
+ [k: string]: unknown;
858
+ };
859
+ [k: string]: unknown;
860
+ };
756
861
  /**
757
862
  * JSON API type field
758
863
  *
@@ -902,7 +1007,7 @@ export declare type UsageCounterType = 'usage_counter';
902
1007
  * This interface was referenced by `UsageCounter`'s JSON-Schema via the
903
1008
  * `definition` "id".
904
1009
  */
905
- export declare type UsageCounterIdentity = 'assets_path_bytes' | 'assets_referrer_bytes' | 'assets_ip_bytes' | 'cda_access_token_id_bytes' | 'cda_access_token_id_requests' | 'cda_referrer_bytes' | 'cda_referrer_requests' | 'cda_ip_bytes' | 'cda_ip_requests' | 'cma_endpoint_bytes' | 'cma_endpoint_requests' | 'cma_user_bytes' | 'cma_user_requests' | 'cma_ip_bytes' | 'cma_ip_requests' | 'video_path_seconds';
1010
+ export declare type UsageCounterIdentity = 'assets_path_bytes' | 'assets_referrer_bytes' | 'assets_ip_bytes' | 'assets_full_path_bytes' | 'assets_path_requests' | 'assets_full_path_requests' | 'cda_access_token_id_bytes' | 'cda_access_token_id_requests' | 'cda_referrer_bytes' | 'cda_referrer_requests' | 'cda_ip_bytes' | 'cda_ip_requests' | 'cma_endpoint_bytes' | 'cma_endpoint_requests' | 'cma_user_bytes' | 'cma_user_requests' | 'cma_ip_bytes' | 'cma_ip_requests' | 'video_path_seconds';
906
1011
  /**
907
1012
  * This interface was referenced by `UsageCounter`'s JSON-Schema via the
908
1013
  * `self.hrefSchema` link.
@@ -926,6 +1031,27 @@ export declare type UploadTagType = 'upload_tag';
926
1031
  * This interface was referenced by `UploadTag`'s JSON-Schema via the `definition` "id".
927
1032
  */
928
1033
  export declare type UploadTagIdentity = string;
1034
+ /**
1035
+ * This interface was referenced by `UploadTag`'s JSON-Schema via the
1036
+ * `instances.hrefSchema` link.
1037
+ */
1038
+ export declare type UploadTagInstancesHrefSchema = {
1039
+ /** Attributes to filter tags */
1040
+ filter?: {
1041
+ /** Textual query to match. */
1042
+ query?: string;
1043
+ [k: string]: unknown;
1044
+ };
1045
+ /** Attributes to manage results pagination */
1046
+ page?: {
1047
+ /** Index of first tag to fetch (defaults to 0) */
1048
+ offset?: number;
1049
+ /** Number of tags to fetch (defaults to 50, maximum is 500) */
1050
+ limit?: number;
1051
+ [k: string]: unknown;
1052
+ };
1053
+ [k: string]: unknown;
1054
+ };
929
1055
  /**
930
1056
  * JSON API type field
931
1057
  *
@@ -943,6 +1069,27 @@ export declare type UploadSmartTagType = 'upload_smart_tag';
943
1069
  * `definition` "id".
944
1070
  */
945
1071
  export declare type UploadSmartTagIdentity = string;
1072
+ /**
1073
+ * This interface was referenced by `UploadSmartTag`'s JSON-Schema via the
1074
+ * `instances.hrefSchema` link.
1075
+ */
1076
+ export declare type UploadSmartTagInstancesHrefSchema = {
1077
+ /** Attributes to filter tags */
1078
+ filter?: {
1079
+ /** Textual query to match. */
1080
+ query?: string;
1081
+ [k: string]: unknown;
1082
+ };
1083
+ /** Attributes to manage results pagination */
1084
+ page?: {
1085
+ /** Index of first tag to fetch (defaults to 0) */
1086
+ offset?: number;
1087
+ /** Number of tags to fetch (defaults to 50, maximum is 500) */
1088
+ limit?: number;
1089
+ [k: string]: unknown;
1090
+ };
1091
+ [k: string]: unknown;
1092
+ };
946
1093
  /**
947
1094
  * JSON API type field
948
1095
  *
@@ -957,7 +1104,19 @@ export declare type SiteType = 'site';
957
1104
  * This interface was referenced by `Site`'s JSON-Schema via the `definition` "id".
958
1105
  */
959
1106
  export declare type SiteIdentity = string;
960
- export interface DatoCMSSiteAPI {
1107
+ /** This interface was referenced by `Site`'s JSON-Schema via the `self.hrefSchema` link. */
1108
+ export declare type SiteSelfHrefSchema = {
1109
+ /**
1110
+ * Comma-separated list of [relationship
1111
+ * paths](https://jsonapi.org/format/#fetching-includes). A relationship path
1112
+ * is a dot-separated list of relationship names. Allowed relationship paths:
1113
+ * `item_types`, `item_types.fields`, `item_types.fieldsets`,
1114
+ * `item_types.singleton_item`, `account`.
1115
+ */
1116
+ include?: string;
1117
+ [k: string]: unknown;
1118
+ };
1119
+ export interface DatoApi {
961
1120
  role?: Role;
962
1121
  user?: User;
963
1122
  sso_user?: SsoUser;
@@ -965,7 +1124,7 @@ export interface DatoCMSSiteAPI {
965
1124
  account?: Account;
966
1125
  site_plan?: SitePlan;
967
1126
  menu_item?: MenuItem;
968
- item_type?: ModelBlock;
1127
+ item_type?: ItemType;
969
1128
  field?: Field;
970
1129
  fieldset?: Fieldset;
971
1130
  job?: Job;
@@ -1008,8 +1167,7 @@ export interface DatoCMSSiteAPI {
1008
1167
  * A Role represents a specific set of actions an editor (or an API token) can
1009
1168
  * perform on your administrative area.
1010
1169
  *
1011
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
1012
- * `definition` "role".
1170
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition` "role".
1013
1171
  */
1014
1172
  export interface Role {
1015
1173
  type: RoleType;
@@ -1583,8 +1741,7 @@ export interface RoleDestroyTargetSchema {
1583
1741
  * collaborator is linked to a specific Role, which describes what actions it
1584
1742
  * will be able to perform once logged in.
1585
1743
  *
1586
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
1587
- * `definition` "user".
1744
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition` "user".
1588
1745
  */
1589
1746
  export interface User {
1590
1747
  type: UserType;
@@ -1673,13 +1830,12 @@ export interface UserInstancesTargetSchema {
1673
1830
  /** This interface was referenced by `User`'s JSON-Schema via the `self.targetSchema` link. */
1674
1831
  export interface UserSelfTargetSchema {
1675
1832
  data: User;
1833
+ included?: Role[];
1676
1834
  }
1677
- /**
1678
- * This interface was referenced by `User`'s JSON-Schema via the
1679
- * `destroy.targetSchema` link.
1680
- */
1681
- export interface UserDestroyTargetSchema {
1682
- data: User;
1835
+ /** This interface was referenced by `User`'s JSON-Schema via the `me.targetSchema` link. */
1836
+ export interface UserMeTargetSchema {
1837
+ data: User | SsoUser | AccessToken | Account;
1838
+ included?: Role[];
1683
1839
  }
1684
1840
  /**
1685
1841
  * A Single Sign-On user exists when a DatoCMS project is connected to an
@@ -1687,8 +1843,8 @@ export interface UserDestroyTargetSchema {
1687
1843
  * procedure but has to go through SAML authentication. It can also be linked to
1688
1844
  * one or more IdP groups.
1689
1845
  *
1690
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
1691
- * `definition` "sso_user".
1846
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
1847
+ * "sso_user".
1692
1848
  */
1693
1849
  export interface SsoUser {
1694
1850
  type: SsoUserType;
@@ -1790,60 +1946,261 @@ export interface SsoUserDestroyTargetSchema {
1790
1946
  data: SsoUser;
1791
1947
  }
1792
1948
  /**
1793
- * If the Audit log functionality is enabled in a project, logged events can be
1794
- * queried using SQL-like language and fetched in full detail so that they can
1795
- * be exported or analyzed.
1949
+ * An API token allows access to our API. It is linked to a Role, which
1950
+ * describes what actions can be performed.
1796
1951
  *
1797
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
1798
- * `definition` "audit_log_event".
1952
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
1953
+ * "access_token".
1799
1954
  */
1800
- export interface AuditLogEvent {
1801
- type: AuditLogEventType;
1802
- id: AuditLogEventIdentity;
1803
- attributes: AuditLogEventAttributes;
1804
- meta: AuditLogEventMeta;
1955
+ export interface AccessToken {
1956
+ type: AccessTokenType;
1957
+ id: AccessTokenIdentity;
1958
+ attributes: AccessTokenAttributes;
1959
+ relationships: AccessTokenRelationships;
1805
1960
  }
1806
1961
  /**
1807
1962
  * JSON API attributes
1808
1963
  *
1809
- * This interface was referenced by `AuditLogEvent`'s JSON-Schema via the
1964
+ * This interface was referenced by `AccessToken`'s JSON-Schema via the
1810
1965
  * `definition` "attributes".
1811
1966
  */
1812
- export interface AuditLogEventAttributes {
1813
- /** The actual action performed */
1814
- action_name: string;
1815
- /** The actor who performed the action */
1816
- actor: {
1817
- /** The type of actor (can be `account`, `user`, `sso_user` or `access_token`) */
1818
- type: string;
1819
- /** The ID of the actor */
1820
- id: string;
1821
- /**
1822
- * An human representation of the actor (name/email/username depending on
1823
- * the type of actor)
1824
- */
1825
- name: string;
1826
- };
1827
- /** The role of the actor at the time the action was performed */
1828
- role: null | {
1829
- /** The name of the role */
1830
- name: string;
1831
- /** The ID of the role */
1832
- id: string;
1833
- };
1834
- /** The environment inside of which the action was performed */
1835
- environment: {
1836
- /** The ID of the environment */
1837
- id: string;
1838
- /** Whether the environment was the primary one at the time the action was performed */
1839
- primary: boolean;
1967
+ export interface AccessTokenAttributes {
1968
+ /** Name of API token */
1969
+ name: string;
1970
+ /**
1971
+ * The actual API token (or null if the current user has no permission to read
1972
+ * the token)
1973
+ */
1974
+ token?: null | string;
1975
+ /** Whether this API token can access the Content Delivery API published content endpoint */
1976
+ can_access_cda: boolean;
1977
+ /** Whether this API token can access the Content Delivery API draft content endpoint */
1978
+ can_access_cda_preview: boolean;
1979
+ /** Whether this API token can access the Content Management API */
1980
+ can_access_cma: boolean;
1981
+ hardcoded_type: null | string;
1982
+ }
1983
+ /**
1984
+ * JSON API links
1985
+ *
1986
+ * This interface was referenced by `AccessToken`'s JSON-Schema via the
1987
+ * `definition` "relationships".
1988
+ */
1989
+ export interface AccessTokenRelationships {
1990
+ /** Role */
1991
+ role: {
1992
+ data: RoleData | null;
1840
1993
  };
1841
- /** The actual request being performed */
1842
- request: {
1843
- /** The full path of the request */
1844
- path: string;
1845
- /** The HTTP method of the request */
1846
- method: string;
1994
+ }
1995
+ /**
1996
+ * JSON API data
1997
+ *
1998
+ * This interface was referenced by `AccessToken`'s JSON-Schema via the
1999
+ * `definition` "data".
2000
+ */
2001
+ export interface AccessTokenData {
2002
+ type: AccessTokenType;
2003
+ id: AccessTokenIdentity;
2004
+ }
2005
+ /**
2006
+ * This interface was referenced by `AccessToken`'s JSON-Schema via the
2007
+ * `create.schema` link.
2008
+ */
2009
+ export interface AccessTokenCreateSchema {
2010
+ data: {
2011
+ type: AccessTokenType;
2012
+ attributes: {
2013
+ /** Name of API token */
2014
+ name: string;
2015
+ /**
2016
+ * Whether this API token can access the Content Delivery API published
2017
+ * content endpoint
2018
+ */
2019
+ can_access_cda: boolean;
2020
+ /** Whether this API token can access the Content Delivery API draft content endpoint */
2021
+ can_access_cda_preview: boolean;
2022
+ /** Whether this API token can access the Content Management API */
2023
+ can_access_cma: boolean;
2024
+ };
2025
+ relationships: {
2026
+ /** Role */
2027
+ role: {
2028
+ data: RoleData | null;
2029
+ };
2030
+ };
2031
+ };
2032
+ }
2033
+ /**
2034
+ * This interface was referenced by `AccessToken`'s JSON-Schema via the
2035
+ * `create.targetSchema` link.
2036
+ */
2037
+ export interface AccessTokenCreateTargetSchema {
2038
+ data: AccessToken;
2039
+ }
2040
+ /**
2041
+ * This interface was referenced by `AccessToken`'s JSON-Schema via the
2042
+ * `update.schema` link.
2043
+ */
2044
+ export interface AccessTokenUpdateSchema {
2045
+ data: {
2046
+ type: AccessTokenType;
2047
+ id: AccessTokenIdentity;
2048
+ attributes: {
2049
+ /** Name of API token */
2050
+ name: string;
2051
+ /**
2052
+ * Whether this API token can access the Content Delivery API published
2053
+ * content endpoint
2054
+ */
2055
+ can_access_cda: boolean;
2056
+ /** Whether this API token can access the Content Delivery API draft content endpoint */
2057
+ can_access_cda_preview: boolean;
2058
+ /** Whether this API token can access the Content Management API */
2059
+ can_access_cma: boolean;
2060
+ };
2061
+ relationships: {
2062
+ /** Role */
2063
+ role: {
2064
+ data: RoleData | null;
2065
+ };
2066
+ };
2067
+ };
2068
+ }
2069
+ /**
2070
+ * This interface was referenced by `AccessToken`'s JSON-Schema via the
2071
+ * `update.targetSchema` link.
2072
+ */
2073
+ export interface AccessTokenUpdateTargetSchema {
2074
+ data: AccessToken;
2075
+ }
2076
+ /**
2077
+ * This interface was referenced by `AccessToken`'s JSON-Schema via the
2078
+ * `instances.targetSchema` link.
2079
+ */
2080
+ export interface AccessTokenInstancesTargetSchema {
2081
+ data: AccessToken[];
2082
+ }
2083
+ /**
2084
+ * This interface was referenced by `AccessToken`'s JSON-Schema via the
2085
+ * `self.targetSchema` link.
2086
+ */
2087
+ export interface AccessTokenSelfTargetSchema {
2088
+ data: AccessToken;
2089
+ }
2090
+ /**
2091
+ * This interface was referenced by `AccessToken`'s JSON-Schema via the
2092
+ * `regenerate_token.targetSchema` link.
2093
+ */
2094
+ export interface AccessTokenRegenerateTokenTargetSchema {
2095
+ data: AccessToken;
2096
+ }
2097
+ /**
2098
+ * This interface was referenced by `AccessToken`'s JSON-Schema via the
2099
+ * `destroy.targetSchema` link.
2100
+ */
2101
+ export interface AccessTokenDestroyTargetSchema {
2102
+ data: AccessToken;
2103
+ }
2104
+ /**
2105
+ * DatoCMS account
2106
+ *
2107
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
2108
+ * "account".
2109
+ */
2110
+ export interface Account {
2111
+ type: AccountType;
2112
+ id: AccountIdentity;
2113
+ attributes: AccountAttributes;
2114
+ }
2115
+ /**
2116
+ * JSON API attributes
2117
+ *
2118
+ * This interface was referenced by `Account`'s JSON-Schema via the `definition`
2119
+ * "attributes".
2120
+ */
2121
+ export interface AccountAttributes {
2122
+ /** Email */
2123
+ email: string;
2124
+ /** First name */
2125
+ first_name: string | null;
2126
+ /** Last name */
2127
+ last_name: string | null;
2128
+ /** Company name */
2129
+ company: string | null;
2130
+ /** Password */
2131
+ password?: string;
2132
+ }
2133
+ /**
2134
+ * JSON API data
2135
+ *
2136
+ * This interface was referenced by `Account`'s JSON-Schema via the `definition` "data".
2137
+ */
2138
+ export interface AccountData {
2139
+ type: AccountType;
2140
+ id: AccountIdentity;
2141
+ }
2142
+ /**
2143
+ * This interface was referenced by `User`'s JSON-Schema via the
2144
+ * `destroy.targetSchema` link.
2145
+ */
2146
+ export interface UserDestroyTargetSchema {
2147
+ data: User;
2148
+ }
2149
+ /**
2150
+ * If the Audit log functionality is enabled in a project, logged events can be
2151
+ * queried using SQL-like language and fetched in full detail so that they can
2152
+ * be exported or analyzed.
2153
+ *
2154
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
2155
+ * "audit_log_event".
2156
+ */
2157
+ export interface AuditLogEvent {
2158
+ type: AuditLogEventType;
2159
+ id: AuditLogEventIdentity;
2160
+ attributes: AuditLogEventAttributes;
2161
+ meta: AuditLogEventMeta;
2162
+ }
2163
+ /**
2164
+ * JSON API attributes
2165
+ *
2166
+ * This interface was referenced by `AuditLogEvent`'s JSON-Schema via the
2167
+ * `definition` "attributes".
2168
+ */
2169
+ export interface AuditLogEventAttributes {
2170
+ /** The actual action performed */
2171
+ action_name: string;
2172
+ /** The actor who performed the action */
2173
+ actor: {
2174
+ /** The type of actor (can be `account`, `user`, `sso_user` or `access_token`) */
2175
+ type: string;
2176
+ /** The ID of the actor */
2177
+ id: string;
2178
+ /**
2179
+ * An human representation of the actor (name/email/username depending on
2180
+ * the type of actor)
2181
+ */
2182
+ name: string;
2183
+ };
2184
+ /** The role of the actor at the time the action was performed */
2185
+ role: null | {
2186
+ /** The name of the role */
2187
+ name: string;
2188
+ /** The ID of the role */
2189
+ id: string;
2190
+ };
2191
+ /** The environment inside of which the action was performed */
2192
+ environment: {
2193
+ /** The ID of the environment */
2194
+ id: string;
2195
+ /** Whether the environment was the primary one at the time the action was performed */
2196
+ primary: boolean;
2197
+ };
2198
+ /** The actual request being performed */
2199
+ request: {
2200
+ /** The full path of the request */
2201
+ path: string;
2202
+ /** The HTTP method of the request */
2203
+ method: string;
1847
2204
  /** The X-Request-ID header of the request */
1848
2205
  id?: string;
1849
2206
  /** The full HTTP body of the request */
@@ -1920,49 +2277,11 @@ export interface AuditLogEventQueryTargetSchema {
1920
2277
  next_token: null | string;
1921
2278
  };
1922
2279
  }
1923
- /**
1924
- * DatoCMS account
1925
- *
1926
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
1927
- * `definition` "account".
1928
- */
1929
- export interface Account {
1930
- type: AccountType;
1931
- id: AccountIdentity;
1932
- attributes: AccountAttributes;
1933
- }
1934
- /**
1935
- * JSON API attributes
1936
- *
1937
- * This interface was referenced by `Account`'s JSON-Schema via the `definition`
1938
- * "attributes".
1939
- */
1940
- export interface AccountAttributes {
1941
- /** Email */
1942
- email: string;
1943
- /** First name */
1944
- first_name: string | null;
1945
- /** Last name */
1946
- last_name: string | null;
1947
- /** Company name */
1948
- company: string | null;
1949
- /** Password */
1950
- password?: string;
1951
- }
1952
- /**
1953
- * JSON API data
1954
- *
1955
- * This interface was referenced by `Account`'s JSON-Schema via the `definition` "data".
1956
- */
1957
- export interface AccountData {
1958
- type: AccountType;
1959
- id: AccountIdentity;
1960
- }
1961
2280
  /**
1962
2281
  * Stores the information regarding the current plan for the project.
1963
2282
  *
1964
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
1965
- * `definition` "site_plan".
2283
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
2284
+ * "site_plan".
1966
2285
  */
1967
2286
  export interface SitePlan {
1968
2287
  type: SitePlanType;
@@ -2037,6 +2356,11 @@ export interface SitePlanAttributes {
2037
2356
  video: boolean;
2038
2357
  /** Days of version history retention */
2039
2358
  history_retention_days: number | null;
2359
+ /**
2360
+ * Maximum number of clients connected at the same time to the Realtime
2361
+ * Updates API. The limit is per-project
2362
+ */
2363
+ concurrent_realtime_connections: number;
2040
2364
  /**
2041
2365
  * Period (in minutes) in which bursts of changes made to the same record by
2042
2366
  * the same user (or API token) will be grouped into a single one
@@ -2052,6 +2376,10 @@ export interface SitePlanAttributes {
2052
2376
  audit_log: boolean;
2053
2377
  /** Whether translator roles are enabled or not */
2054
2378
  translator_roles: boolean;
2379
+ /** Whether or not use a static IP when sending webhooks */
2380
+ static_webhooks_ip: boolean;
2381
+ /** Maximum size in bytes for a single file upload */
2382
+ maximum_single_upload_bytes: number;
2055
2383
  /** Available extra packets */
2056
2384
  extra_packets: {
2057
2385
  users?: {
@@ -2117,8 +2445,8 @@ export interface SitePlanData {
2117
2445
  * administrative area reordering and grouping them, so that their purpose will
2118
2446
  * be more clear to the final editor.
2119
2447
  *
2120
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
2121
- * `definition` "menu_item".
2448
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
2449
+ * "menu_item".
2122
2450
  */
2123
2451
  export interface MenuItem {
2124
2452
  type: MenuItemType;
@@ -2165,8 +2493,7 @@ export interface MenuItemRelationships {
2165
2493
  /**
2166
2494
  * JSON API data
2167
2495
  *
2168
- * This interface was referenced by `ModelBlock`'s JSON-Schema via the
2169
- * `definition` "data".
2496
+ * This interface was referenced by `ItemType`'s JSON-Schema via the `definition` "data".
2170
2497
  */
2171
2498
  export interface ItemTypeData {
2172
2499
  type: ItemTypeType;
@@ -2196,7 +2523,7 @@ export interface MenuItemCreateSchema {
2196
2523
  /** Opens link in new tab (used together with `external_url`) */
2197
2524
  open_in_new_tab?: boolean;
2198
2525
  };
2199
- relationships: {
2526
+ relationships?: {
2200
2527
  /** Item type associated with the menu item */
2201
2528
  item_type?: {
2202
2529
  data: ItemTypeData | null;
@@ -2221,7 +2548,7 @@ export interface MenuItemUpdateSchema {
2221
2548
  type: MenuItemType;
2222
2549
  id: MenuItemIdentity;
2223
2550
  /** JSON API attributes */
2224
- attributes: {
2551
+ attributes?: {
2225
2552
  /** The label of the menu item */
2226
2553
  label: string;
2227
2554
  /** The URL to which the menu item points to */
@@ -2231,7 +2558,7 @@ export interface MenuItemUpdateSchema {
2231
2558
  /** Opens link in new tab (used together with `external_url`) */
2232
2559
  open_in_new_tab?: boolean;
2233
2560
  };
2234
- relationships: {
2561
+ relationships?: {
2235
2562
  /** Item type associated with the menu item */
2236
2563
  item_type?: {
2237
2564
  data: ItemTypeData | null;
@@ -2277,10 +2604,10 @@ export interface MenuItemDestroyTargetSchema {
2277
2604
  * database tables. For backward-compatibility reasons, the API refers to models
2278
2605
  * as "item types".
2279
2606
  *
2280
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
2281
- * `definition` "item_type".
2607
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
2608
+ * "item_type".
2282
2609
  */
2283
- export interface ModelBlock {
2610
+ export interface ItemType {
2284
2611
  type: ItemTypeType;
2285
2612
  id: ItemTypeIdentity;
2286
2613
  attributes: ItemTypeAttributes;
@@ -2289,7 +2616,7 @@ export interface ModelBlock {
2289
2616
  /**
2290
2617
  * JSON API attributes
2291
2618
  *
2292
- * This interface was referenced by `ModelBlock`'s JSON-Schema via the
2619
+ * This interface was referenced by `ItemType`'s JSON-Schema via the
2293
2620
  * `definition` "attributes".
2294
2621
  */
2295
2622
  export interface ItemTypeAttributes {
@@ -2334,7 +2661,7 @@ export interface ItemTypeAttributes {
2334
2661
  /**
2335
2662
  * JSON API links
2336
2663
  *
2337
- * This interface was referenced by `ModelBlock`'s JSON-Schema via the
2664
+ * This interface was referenced by `ItemType`'s JSON-Schema via the
2338
2665
  * `definition` "relationships".
2339
2666
  */
2340
2667
  export interface ItemTypeRelationships {
@@ -2346,10 +2673,22 @@ export interface ItemTypeRelationships {
2346
2673
  fields: {
2347
2674
  data: FieldData[];
2348
2675
  };
2676
+ /** The list of item type fieldsets */
2677
+ fieldsets: {
2678
+ data: FieldsetData[];
2679
+ };
2349
2680
  /** The field to use as display title */
2350
2681
  title_field: {
2351
2682
  data: FieldData | null;
2352
2683
  };
2684
+ /** The field to use as preview image */
2685
+ image_preview_field: {
2686
+ data: FieldData | null;
2687
+ };
2688
+ /** The field to use as fallback description for SEO purposes */
2689
+ excerpt_field: {
2690
+ data: FieldData | null;
2691
+ };
2353
2692
  /** The field upon which the collection is sorted */
2354
2693
  ordering_field: {
2355
2694
  data: FieldData | null;
@@ -2365,7 +2704,7 @@ export interface ItemTypeRelationships {
2365
2704
  * This interface was referenced by `Item`'s JSON-Schema via the `definition` "data".
2366
2705
  */
2367
2706
  export interface ItemData {
2368
- type: ItemType;
2707
+ type: ItemType1;
2369
2708
  id: ItemIdentity;
2370
2709
  }
2371
2710
  /**
@@ -2377,6 +2716,15 @@ export interface FieldData {
2377
2716
  type: FieldType;
2378
2717
  id: FieldIdentity;
2379
2718
  }
2719
+ /**
2720
+ * JSON API data
2721
+ *
2722
+ * This interface was referenced by `Fieldset`'s JSON-Schema via the `definition` "data".
2723
+ */
2724
+ export interface FieldsetData {
2725
+ type: FieldsetType;
2726
+ id: FieldsetIdentity;
2727
+ }
2380
2728
  /**
2381
2729
  * JSON API data
2382
2730
  *
@@ -2386,10 +2734,7 @@ export interface WorkflowData {
2386
2734
  type: WorkflowType;
2387
2735
  id: WorkflowIdentity;
2388
2736
  }
2389
- /**
2390
- * This interface was referenced by `ModelBlock`'s JSON-Schema via the
2391
- * `create.schema` link.
2392
- */
2737
+ /** This interface was referenced by `ItemType`'s JSON-Schema via the `create.schema` link. */
2393
2738
  export interface ItemTypeCreateSchema {
2394
2739
  data: {
2395
2740
  type: ItemTypeType;
@@ -2437,6 +2782,14 @@ export interface ItemTypeCreateSchema {
2437
2782
  title_field?: {
2438
2783
  data: FieldData | null;
2439
2784
  };
2785
+ /** The field to use as preview image */
2786
+ image_preview_field?: {
2787
+ data: FieldData | null;
2788
+ };
2789
+ /** The field to use as fallback description for SEO purposes */
2790
+ excerpt_field?: {
2791
+ data: FieldData | null;
2792
+ };
2440
2793
  /** The workflow to enforce on records */
2441
2794
  workflow?: {
2442
2795
  data: WorkflowData | null;
@@ -2445,17 +2798,14 @@ export interface ItemTypeCreateSchema {
2445
2798
  };
2446
2799
  }
2447
2800
  /**
2448
- * This interface was referenced by `ModelBlock`'s JSON-Schema via the
2801
+ * This interface was referenced by `ItemType`'s JSON-Schema via the
2449
2802
  * `create.targetSchema` link.
2450
2803
  */
2451
2804
  export interface ItemTypeCreateTargetSchema {
2452
- data: ModelBlock;
2805
+ data: ItemType;
2453
2806
  included?: MenuItem[];
2454
2807
  }
2455
- /**
2456
- * This interface was referenced by `ModelBlock`'s JSON-Schema via the
2457
- * `update.schema` link.
2458
- */
2808
+ /** This interface was referenced by `ItemType`'s JSON-Schema via the `update.schema` link. */
2459
2809
  export interface ItemTypeUpdateSchema {
2460
2810
  data: {
2461
2811
  type: ItemTypeType;
@@ -2509,6 +2859,14 @@ export interface ItemTypeUpdateSchema {
2509
2859
  title_field?: {
2510
2860
  data: FieldData | null;
2511
2861
  };
2862
+ /** The field to use as preview image */
2863
+ image_preview_field?: {
2864
+ data: FieldData | null;
2865
+ };
2866
+ /** The field to use as fallback description for SEO purposes */
2867
+ excerpt_field?: {
2868
+ data: FieldData | null;
2869
+ };
2512
2870
  /** The workflow to enforce on records */
2513
2871
  workflow?: {
2514
2872
  data: WorkflowData | null;
@@ -2517,78 +2875,667 @@ export interface ItemTypeUpdateSchema {
2517
2875
  };
2518
2876
  }
2519
2877
  /**
2520
- * This interface was referenced by `ModelBlock`'s JSON-Schema via the
2878
+ * This interface was referenced by `ItemType`'s JSON-Schema via the
2521
2879
  * `update.targetSchema` link.
2522
2880
  */
2523
2881
  export interface ItemTypeUpdateTargetSchema {
2524
2882
  data: Job;
2525
2883
  }
2526
- /**
2527
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
2528
- * `definition` "job".
2529
- */
2884
+ /** This interface was referenced by `DatoApi`'s JSON-Schema via the `definition` "job". */
2530
2885
  export interface Job {
2531
- type: TargetSchemaPropertiesDataType;
2532
- id: TargetSchemaPropertiesDataIdentity;
2886
+ type: JobType;
2887
+ id: JobIdentity;
2533
2888
  }
2534
2889
  /**
2535
2890
  * JSON API data
2536
2891
  *
2537
2892
  * This interface was referenced by `Job`'s JSON-Schema via the `definition` "data".
2538
2893
  */
2539
- export interface TargetSchemaPropertiesDataData {
2540
- type: TargetSchemaPropertiesDataType;
2541
- id: TargetSchemaPropertiesDataIdentity;
2894
+ export interface JobData {
2895
+ type: JobType;
2896
+ id: JobIdentity;
2542
2897
  }
2543
2898
  /**
2544
- * This interface was referenced by `ModelBlock`'s JSON-Schema via the
2899
+ * This interface was referenced by `ItemType`'s JSON-Schema via the
2545
2900
  * `update.jobSchema` link.
2546
2901
  */
2547
2902
  export interface ItemTypeUpdateJobSchema {
2548
- data: ModelBlock;
2903
+ data: ItemType;
2549
2904
  }
2550
2905
  /**
2551
- * This interface was referenced by `ModelBlock`'s JSON-Schema via the
2906
+ * This interface was referenced by `ItemType`'s JSON-Schema via the
2552
2907
  * `instances.targetSchema` link.
2553
2908
  */
2554
2909
  export interface ItemTypeInstancesTargetSchema {
2555
- data: ModelBlock[];
2910
+ data: ItemType[];
2556
2911
  }
2557
2912
  /**
2558
- * This interface was referenced by `ModelBlock`'s JSON-Schema via the
2913
+ * This interface was referenced by `ItemType`'s JSON-Schema via the
2559
2914
  * `self.targetSchema` link.
2560
2915
  */
2561
2916
  export interface ItemTypeSelfTargetSchema {
2562
- data: ModelBlock;
2917
+ data: ItemType;
2563
2918
  }
2564
2919
  /**
2565
- * This interface was referenced by `ModelBlock`'s JSON-Schema via the
2920
+ * This interface was referenced by `ItemType`'s JSON-Schema via the
2566
2921
  * `duplicate.targetSchema` link.
2567
2922
  */
2568
2923
  export interface ItemTypeDuplicateTargetSchema {
2569
- data: ModelBlock;
2924
+ data: ItemType;
2570
2925
  }
2571
2926
  /**
2572
- * This interface was referenced by `ModelBlock`'s JSON-Schema via the
2927
+ * This interface was referenced by `ItemType`'s JSON-Schema via the
2573
2928
  * `destroy.targetSchema` link.
2574
2929
  */
2575
2930
  export interface ItemTypeDestroyTargetSchema {
2576
2931
  data: Job;
2577
2932
  }
2578
2933
  /**
2579
- * This interface was referenced by `ModelBlock`'s JSON-Schema via the
2934
+ * This interface was referenced by `ItemType`'s JSON-Schema via the
2580
2935
  * `destroy.jobSchema` link.
2581
2936
  */
2582
2937
  export interface ItemTypeDestroyJobSchema {
2583
- data: ModelBlock;
2584
- }
2585
- /**
2586
- * Each Model consists of a set of fields. Using the database metaphore, fields
2587
- * are like table columns, and when creating them you need to specify their type
2588
- * (`string`, `file`, `float`, etc.) and any required validation.
2938
+ data: ItemType;
2939
+ }
2940
+ /**
2941
+ * DatoCMS offers a number of different fields that you can combine togheter to
2942
+ * create a [Model](/docs/content-management-api/resources/item-type). Using the
2943
+ * database metaphore, fields are like table columns, and when creating them you
2944
+ * need to specify their type (`string`, `float`, etc.) and any required validation.
2945
+ *
2946
+ * ### Different field types require different settings
2947
+ *
2948
+ * When looking at a field resource, you have to pay attention to two particular
2949
+ * properties, `validators` and `appearance`.
2950
+ *
2951
+ * The `validators` property expresses the set of validations to be performed
2952
+ * server-side on a specific field value for it to be considered valid, while
2953
+ * the `appearance` property lets you specify *how* the field itself will be
2954
+ * presented inside the form to the final editor.
2955
+ *
2956
+ * For both properties, the value to specify depends on the type of field
2957
+ * itself. For example, you can add a "Limit character count" validation to a
2958
+ * *Single-line string* field, or set its appearence to "Show it as heading",
2959
+ * but they won't be accepted for a ie. *Color* field, as it supports different
2960
+ * validations and appearance settings.
2961
+ *
2962
+ * ### Specifying validations
2963
+ *
2964
+ * The `validators` property requires an object whose keys are the validations
2965
+ * that you want to be enforced, and the values are objects representing any
2966
+ * settings that the validation itself requires. If the validation doesn't have
2967
+ * additional settings, you just pass down an empty object.
2968
+ *
2969
+ * This is a valid example for a *Single-line string* field:
2970
+ *
2971
+ * ```js
2972
+ * {
2973
+ * "validators": {
2974
+ * // "required" validator has no settings
2975
+ * "required": {},
2976
+ * // "length" validator requires "min" and/or "max" properties
2977
+ * "length": { "min": 80 }
2978
+ * }
2979
+ * }
2980
+ * ```
2981
+ *
2982
+ * Below you'll find a summary of all the validators available for each field
2983
+ * type with their settings.
2984
+ *
2985
+ * Some validators are required for a specific type of field. For example, the
2986
+ * *Slug* field needs to have a `slug_title_field` validator to specify the ID
2987
+ * of the *Single-line string* field that will be used to generate the slug itself.
2988
+ *
2989
+ * ### Specifying the appearance
2990
+ *
2991
+ * The `appearance` property requires an object with three specific properties:
2992
+ * `editor`, `parameters` and `addons`.
2993
+ *
2994
+ * The `editor` represents the type of editor that the users will see inside the
2995
+ * form to change the value of this specific field. Depending on the type of
2996
+ * field, DatoCMS offers a number of different editors for you to choose from.
2997
+ * The `parameters` property is an object representing any additional settings
2998
+ * that the editor itself might require.
2999
+ *
3000
+ * This is a valid example for a *Single-line string* field:
3001
+ *
3002
+ * ```js
3003
+ * {
3004
+ * "appearance": {
3005
+ * // single_line is a DatoCMS built-in editor that you can use with single-line string fields
3006
+ * "editor": "single_line",
3007
+ * // each built-in editor has specific settings
3008
+ * "parameters": { "heading": true },
3009
+ * "addons": []
3010
+ * }
3011
+ * }
3012
+ * ```
3013
+ *
3014
+ * Following you'll find a summary of all the editors available for each field
3015
+ * type with their settings.
3016
+ *
3017
+ * #### Setting the appearance to a field editor provided by a plugin
3018
+ *
3019
+ * If the project contains a plugin that exposes [manual field
3020
+ * editors](/docs/plugin-sdk/manual-field-extensions), you can also configure
3021
+ * the field to be presented with it instead of using one of the build-in editors.
3022
+ *
3023
+ * In this case:
3024
+ *
3025
+ * - The `editor` property must be the ID of the plugin;
3026
+ * - The `field_extension` property must be the ID of the specific manual field
3027
+ * editor that the plugin exposes;
3028
+ * - The `parameters` property must provide a configuration object compatible with
3029
+ * the [config screen of the manual field
3030
+ * extension](/docs/plugin-sdk/manual-field-extensions#add-per-field-config-screens-to-manual-field-extensions),
3031
+ * or an empty object if it doesn't require any configuration.
3032
+ *
3033
+ * ```js
3034
+ * {
3035
+ * "appearance": {
3036
+ * // "2132" is a the ID of a plugin exposing a manual field editor
3037
+ * "editor": "2134",
3038
+ * // "starRating" is a manual field editor exposed by the plugin
3039
+ * "field_extension": "starRating",
3040
+ * // this is a valid configuration for the "starRating" field editor
3041
+ * "parameters": { "maxRating": 5, "starsColor": "#ff0000" },
3042
+ * "addons": []
3043
+ * }
3044
+ * }
3045
+ * ```
3046
+ *
3047
+ * #### Configuring manual field addons
3048
+ *
3049
+ * If the project contains plugins that expose [manual field
3050
+ * addons](/docs/plugin-sdk/manual-field-extensions), you can also add them to
3051
+ * the field via the `addons` property.
3052
+ *
3053
+ * ```js
3054
+ * {
3055
+ * "appearance": {
3056
+ * "editor": "single_line",
3057
+ * "parameters": { "heading": true },
3058
+ * "addons": [
3059
+ * {
3060
+ * // "2138" is a the ID of a plugin exposing a manual addon editor
3061
+ * "id": "2138",
3062
+ * // "loremIpsumGenerator" is a manual field addon exposed by the plugin
3063
+ * "field_extension": "loremIpsumGenerator",
3064
+ * // this is a valid configuration for the "loremIpsumGenerator" field addon
3065
+ * "parameters": { "sentences": 2 }
3066
+ * }
3067
+ * ]
3068
+ * }
3069
+ * }
3070
+ * ```
3071
+ *
3072
+ * ### Available field types<details><summary>Single-line string (<code>string</code>)</summary>
3073
+ *
3074
+ * | Property | Value |
3075
+ * | ------------------------------ | ---------------------------------------------------- | ------------------- |
3076
+ * | Code | `string` |
3077
+ * | Built-in editors for the field | `single_line`, `string_radio_group`, `string_select` |
3078
+ * | Available validators | `required`, `unique`, `length`, `format`, `enum` | </details><details> |<summary>Multi-line text (<code>text</code>)</summary>
3079
+ *
3080
+ * | Property | Value |
3081
+ * | ------------------------------ | --------------------------------- | ------------------- |
3082
+ * | Code | `text` |
3083
+ * | Built-in editors for the field | `markdown`, `wysiwyg`, `textarea` |
3084
+ * | Available validators | `required`, `length`, `format` | </details><details> |<summary>Boolean (<code>boolean</code>)</summary>
3085
+ *
3086
+ * | Property | Value |
3087
+ * | ------------------------------ | -------------------------------- | ------------------- |
3088
+ * | Code | `boolean` |
3089
+ * | Built-in editors for the field | `boolean`, `boolean_radio_group` |
3090
+ * | Available validators | no validators available | </details><details> |<summary>Integer (<code>integer</code>)</summary>
3091
+ *
3092
+ * | Property | Value |
3093
+ * | ------------------------------ | -------------------------- | ------------------- |
3094
+ * | Code | `integer` |
3095
+ * | Built-in editors for the field | `integer` |
3096
+ * | Available validators | `required`, `number_range` | </details><details> |<summary>Float (<code>float</code>)</summary>
3097
+ *
3098
+ * | Property | Value |
3099
+ * | ------------------------------ | -------------------------- | ------------------- |
3100
+ * | Code | `float` |
3101
+ * | Built-in editors for the field | `float` |
3102
+ * | Available validators | `required`, `number_range` | </details><details> |<summary>Date (<code>date</code>)</summary>
3103
+ *
3104
+ * | Property | Value |
3105
+ * | ------------------------------ | ------------------------ | ------------------- |
3106
+ * | Code | `date` |
3107
+ * | Built-in editors for the field | `date_picker` |
3108
+ * | Available validators | `required`, `date_range` | </details><details> |<summary>Date time (<code>date_time</code>)</summary>
3109
+ *
3110
+ * | Property | Value |
3111
+ * | ------------------------------ | ----------------------------- | ------------------- |
3112
+ * | Code | `date_time` |
3113
+ * | Built-in editors for the field | `date_time_picker` |
3114
+ * | Available validators | `required`, `date_time_range` | </details><details> |<summary>Color (<code>color</code>)</summary>
3115
+ *
3116
+ * | Property | Value |
3117
+ * | ------------------------------ | -------------- | ------------------- |
3118
+ * | Code | `color` |
3119
+ * | Built-in editors for the field | `color_picker` |
3120
+ * | Available validators | `required` | </details><details> |<summary>JSON (<code>json</code>)</summary>
3121
+ *
3122
+ * | Property | Value |
3123
+ * | ------------------------------ | ------------------------------------------------------ | ------------------- |
3124
+ * | Code | `json` |
3125
+ * | Built-in editors for the field | `json`, `string_multi_select`, `string_checkbox_group` |
3126
+ * | Available validators | `required` | </details><details> |<summary>Location (<code>lat_lon</code>)</summary>
3127
+ *
3128
+ * | Property | Value |
3129
+ * | ------------------------------ | ---------- | ------------------- |
3130
+ * | Code | `lat_lon` |
3131
+ * | Built-in editors for the field | `map` |
3132
+ * | Available validators | `required` | </details><details> |<summary>SEO (<code>seo</code>)</summary>
3133
+ *
3134
+ * | Property | Value |
3135
+ * | ------------------------------ | -------------------------------------------------------------------------------------------- | ------------------- |
3136
+ * | Code | `seo` |
3137
+ * | Built-in editors for the field | `seo` |
3138
+ * | Available validators | `required_seo_fields`, `file_size`, `image_dimensions`, `title_length`, `description_length` | </details><details> |<summary>Slug (<code>slug</code>)</summary>
3139
+ *
3140
+ * | Property | Value |
3141
+ * | ------------------------------ | ----------------------------------- | ------------------- |
3142
+ * | Code | `slug` |
3143
+ * | Built-in editors for the field | `slug` |
3144
+ * | Required validators | `slug_title_field` |
3145
+ * | Other validators available | `required`, `length`, `slug_format` | </details><details> |<summary>External video (<code>video</code>)</summary>
3146
+ *
3147
+ * | Property | Value |
3148
+ * | ------------------------------ | ---------- | ------------------- |
3149
+ * | Code | `video` |
3150
+ * | Built-in editors for the field | `video` |
3151
+ * | Available validators | `required` | </details><details> |<summary>Single-asset (<code>file</code>)</summary>
3152
+ *
3153
+ * | Property | Value |
3154
+ * | ------------------------------ | ------------------------------------------------------------------------------ | ------------------- |
3155
+ * | Code | `file` |
3156
+ * | Built-in editors for the field | `file` |
3157
+ * | Available validators | `required`, `file_size`, `image_dimensions`, `extension`, `required_alt_title` | </details><details> |<summary>Asset gallery (<code>gallery</code>)</summary>
3158
+ *
3159
+ * | Property | Value |
3160
+ * | ------------------------------ | -------------------------------------------------------------------------- | ------------------- |
3161
+ * | Code | `gallery` |
3162
+ * | Built-in editors for the field | `gallery` |
3163
+ * | Available validators | `size`, `file_size`, `image_dimensions`, `extension`, `required_alt_title` | </details><details> |<summary>Single link (<code>link</code>)</summary>
3164
+ *
3165
+ * | Property | Value |
3166
+ * | ------------------------------ | --------------------------- | ------------------- |
3167
+ * | Code | `link` |
3168
+ * | Built-in editors for the field | `link_select`, `link_embed` |
3169
+ * | Default `editor` | `link_select` |
3170
+ * | Required validators | `item_item_type` |
3171
+ * | Other validators available | `required`, `unique` | </details><details> |<summary>Multiple links (<code>links</code>)</summary>
3172
+ *
3173
+ * | Property | Value |
3174
+ * | ------------------------------ | ----------------------------- | ------------------- |
3175
+ * | Code | `links` |
3176
+ * | Built-in editors for the field | `links_select`, `links_embed` |
3177
+ * | Default `editor` | `links_select` |
3178
+ * | Required validators | `items_item_type` |
3179
+ * | Other validators available | `size` | </details><details> |<summary>Modular content (<code>rich_text</code>)</summary>
3180
+ *
3181
+ * | Property | Value |
3182
+ * | ------------------------------ | ------------------ | ------------------- |
3183
+ * | Code | `rich_text` |
3184
+ * | Built-in editors for the field | `rich_text` |
3185
+ * | Required validators | `rich_text_blocks` |
3186
+ * | Other validators available | `size` | </details><details> |<summary>Structured text (<code>structured_text</code>)</summary>
3187
+ *
3188
+ * | Property | Value |
3189
+ * | ------------------------------ | ------------------------------------------------- | ---------- |
3190
+ * | Code | `structured_text` |
3191
+ * | Built-in editors for the field | `structured_text` |
3192
+ * | Required validators | `structured_text_blocks`, `structured_text_links` |
3193
+ * | Other validators available | `length` | </details> |
3194
+ *
3195
+ * ### Validators<details><summary><code>date_range</code></summary>
3196
+ *
3197
+ * Accept dates only inside a specified date range.
3198
+ *
3199
+ * | Parameter | Type | Required | Description |
3200
+ * | --------- | ------------- | -------- | ------------ |
3201
+ * | `min` | ISO 8601 date | | Minimum date |
3202
+ * | `max` | ISO 8601 date | | Maximum date |
3203
+ *
3204
+ * At least one of the parameters must be specified.</details><details><summary><code>date_time_range</code></summary>
3205
+ *
3206
+ * Accept date times only inside a specified date range.
3207
+ *
3208
+ * | Parameter | Type | Required | Description |
3209
+ * | --------- | ----------------- | -------- | ---------------- |
3210
+ * | `min` | ISO 8601 datetime | | Minimum datetime |
3211
+ * | `max` | ISO 8601 datetime | | Maximum datetime |
3212
+ *
3213
+ * At least one of the parameters must be specified.</details><details><summary><code>enum</code></summary>
3214
+ *
3215
+ * Only accept a specific set of values
3216
+ *
3217
+ * | Parameter | Type | Required | Description |
3218
+ * | --------- | --------------- | -------- | --------------------- | ------------------- |
3219
+ * | `values` | `Array<String>` | ✅ | Set of allowed values | </details><details> |<summary><code>extension</code></summary>
3220
+ *
3221
+ * Only accept assets with specific file extensions.
3222
+ *
3223
+ * | Parameter | Type | Required | Description |
3224
+ * | ----------------- | ------------------------------------------------------------------ | -------- | ------------------------------ |
3225
+ * | `extensions` | `Array<String>` | | Set of allowed file extensions |
3226
+ * | `predefined_list` | one of `"image"`, `"transformable_image"`, `"video"`, `"document"` | | Allowed file type |
3227
+ *
3228
+ * Only one of the parameters must be specified.</details><details><summary><code>file_size</code></summary>
3229
+ *
3230
+ * Accept assets only inside a specified date range.
3231
+ *
3232
+ * | Parameter | Type | Required | Description |
3233
+ * | ----------- | ---------------------------- | -------- | ---------------------------------- |
3234
+ * | `min_value` | `Integer` | | Numeric value for minimum filesize |
3235
+ * | `min_unit` | one of `"B"`, `"KB"`, `"MB"` | | Unit for minimum filesize |
3236
+ * | `max_value` | `Integer` | | Numeric value for maximum filesize |
3237
+ * | `max_unit` | one of `"B"`, `"KB"`, `"MB"` | | Unit for maximum filesize |
3238
+ *
3239
+ * At least one couple of value/unit must be specified.</details><details><summary><code>format</code></summary>
3240
+ *
3241
+ * Only accept strings having a specific format.
3242
+ *
3243
+ * | Parameter | Type | Required | Description |
3244
+ * | -------------------- | ------------------------- | -------- | ---------------------------------- |
3245
+ * | `custom_pattern` | `Regexp` | | Regular expression to be validated |
3246
+ * | `predefined_pattern` | one of `"email"`, `"url"` | | Allowed format |
3247
+ *
3248
+ * Only one of the parameters must be specified.</details><details><summary><code>slug_format</code></summary>
3249
+ *
3250
+ * Only accept slugs having a specific format.
3251
+ *
3252
+ * | Parameter | Type | Required | Description |
3253
+ * | -------------------- | ---------------- | -------- | ---------------------------------- |
3254
+ * | `custom_pattern` | `Regexp` | | Regular expression to be validated |
3255
+ * | `predefined_pattern` | `"webpage_slug"` | | Allowed format |
3256
+ *
3257
+ * Only one of the parameters must be specified.</details><details><summary><code>image_dimensions</code></summary>
3258
+ *
3259
+ * Accept assets only within a specified height/width range.
3260
+ *
3261
+ * | Parameter | Type | Required | Description |
3262
+ * | ------------------ | --------- | -------- | -------------------------------- |
3263
+ * | `width_min_value` | `Integer` | | Numeric value for minimum width |
3264
+ * | `width_max_value` | `Integer` | | Numeric value for maximum height |
3265
+ * | `height_min_value` | `Integer` | | Numeric value for minimum width |
3266
+ * | `height_max_value` | `Integer` | | Numeric value for maximum height |
3267
+ *
3268
+ * At least one parameter must be specified.</details><details><summary><code>item_item_type</code></summary>
3269
+ *
3270
+ * Only accept references to records of the specified models.
3271
+ *
3272
+ * | Parameter | Type | Required | Description |
3273
+ * | ------------------------------------------------- | ------------------------------------------------------------------------ | -------- | --------------------------------------------------------------------------------------------------- |
3274
+ * | `item_types` | `Array<Model ID>` | ✅ | Set of allowed model IDs |
3275
+ * | `on_publish_with_unpublished_references_strategy` | `"fail"`, `"publish_references"` (default value: `"fail"`) | | Strategy to apply when a publishing is requested and this field references some unpublished records |
3276
+ * | `on_reference_unpublish_strategy` | `"fail"`, `"unpublish"`, `"delete_references"` (default value: `"fail"`) | | Strategy to apply when unpublishing is requested for a record referenced by this field |
3277
+ * | `on_reference_delete_strategy` | `"fail"`, `"delete_references"` (default value: `"delete_references"`) | | Strategy to apply when deletion is requested for a record referenced by this field |
3278
+ *
3279
+ * Possible values for `on_publish_with_unpublished_references_strategy`:
3280
+ *
3281
+ * - `"fail"`: Fail the operation and notify the user
3282
+ * - `"publish_references"`: Publish also the referenced records
3283
+ *
3284
+ * Possible values for `on_reference_unpublish_strategy`:
3285
+ *
3286
+ * - `"fail"`: Fail the operation and notify the user
3287
+ * - `"unpublish"`: Unpublish also this record
3288
+ * - `"delete_references"`: Try to remove the reference to the unpublished record
3289
+ * (if the field has a `required` validation it will fail)
3290
+ *
3291
+ * Possible values for `on_reference_delete_strategy`:
3292
+ *
3293
+ * - `"fail"`: Fail the operation and notify the user
3294
+ * - `"delete_references"`: Try to remove the reference to the deleted record (if
3295
+ * the field has a `required` validation it will fail)</details><details><summary><code>items_item_type</code></summary>
3296
+ *
3297
+ * Only accept references to records of the specified models.
3298
+ *
3299
+ * | Parameter | Type | Required | Description |
3300
+ * | ------------------------------------------------- | ------------------------------------------------------------------------ | -------- | --------------------------------------------------------------------------------------------------- |
3301
+ * | `item_types` | `Array<Model ID>` | ✅ | Set of allowed model IDs |
3302
+ * | `on_publish_with_unpublished_references_strategy` | `"fail"`, `"publish_references"` (default value: `"fail"`) | | Strategy to apply when a publishing is requested and this field references some unpublished records |
3303
+ * | `on_reference_unpublish_strategy` | `"fail"`, `"unpublish"`, `"delete_references"` (default value: `"fail"`) | | Strategy to apply when unpublishing is requested for a record referenced by this field |
3304
+ * | `on_reference_delete_strategy` | `"fail"`, `"delete_references"` (default value: `"delete_references"`) | | Strategy to apply when deletion is requested for a record referenced by this field |
3305
+ *
3306
+ * Possible values for `on_publish_with_unpublished_references_strategy`:
3307
+ *
3308
+ * - `"fail"`: Fail the operation and notify the user
3309
+ * - `"publish_references"`: Publish also the referenced records
3310
+ *
3311
+ * Possible values for `on_reference_unpublish_strategy`:
3312
+ *
3313
+ * - `"fail"`: Fail the operation and notify the user
3314
+ * - `"unpublish"`: Unpublish also this record
3315
+ * - `"delete_references"`: Try to remove the reference to the unpublished record
3316
+ * (if the field has a `required` validation it will fail)
3317
+ *
3318
+ * Possible values for `on_reference_delete_strategy`:
3319
+ *
3320
+ * - `"fail"`: Fail the operation and notify the user
3321
+ * - `"delete_references"`: Try to remove the reference to the deleted record (if
3322
+ * the field has a `required` validation it will fail)</details><details><summary><code>length</code></summary>
3323
+ *
3324
+ * Accept strings only with a specified number of characters.
3325
+ *
3326
+ * | Parameter | Type | Required | Description |
3327
+ * | --------- | --------- | -------- | --------------- |
3328
+ * | `min` | `Integer` | | Minimum length |
3329
+ * | `eq` | `Integer` | | Expected length |
3330
+ * | `max` | `Integer` | | Maximum length |
3331
+ *
3332
+ * At least one parameter must be specified.</details><details><summary><code>number_range</code></summary>
3333
+ *
3334
+ * Accept numbers only inside a specified range.
3335
+ *
3336
+ * | Parameter | Type | Required | Description |
3337
+ * | --------- | ------- | -------- | ------------- |
3338
+ * | `min` | `Float` | | Minimum value |
3339
+ * | `max` | `Float` | | Maximum value |
3340
+ *
3341
+ * At least one of the parameters must be specified.</details><details><summary><code>required</code></summary>
3342
+ *
3343
+ * Value must be specified or it won't be valid.</details><details><summary><code>required_alt_title</code></summary>
3344
+ *
3345
+ * Assets contained in the field are required to specify custom title or
3346
+ * alternate text, or they won't be valid.
3347
+ *
3348
+ * | Parameter | Type | Required | Description |
3349
+ * | --------- | --------- | -------- | ---------------------------------------------------------- |
3350
+ * | `title` | `Boolean` | | Whether the title for the asset must be specified |
3351
+ * | `alt` | `Boolean` | | Whether the alternate text for the asset must be specified |
3352
+ *
3353
+ * At least one of the parameters must be specified.</details><details><summary><code>required_seo_fields</code></summary>
3354
+ *
3355
+ * SEO field is to specify one or more properties, or it won't be valid.
3356
+ *
3357
+ * | Parameter | Type | Required | Description |
3358
+ * | -------------- | --------- | -------- | -------------------------------------------------- |
3359
+ * | `title` | `Boolean` | | Whether the meta title must be specified |
3360
+ * | `description` | `Boolean` | | Whether the meta description must be specified |
3361
+ * | `image` | `Boolean` | | Whether the social sharing image must be specified |
3362
+ * | `twitter_card` | `Boolean` | | Whether the type of Twitter card must be specified |
3363
+ *
3364
+ * At least one of the parameters must be specified.</details><details><summary><code>title_length</code></summary>
3365
+ *
3366
+ * Limits the length of the title for a SEO field. Search engines usually
3367
+ * truncate title tags to 60 character so it is a good practice to keep the
3368
+ * title around this length.
3369
+ *
3370
+ * | Parameter | Type | Required | Description |
3371
+ * | --------- | --------- | -------- | ------------- |
3372
+ * | `min` | `Integer` | | Minimum value |
3373
+ * | `max` | `Integer` | | Maximum value |
3374
+ *
3375
+ * At least one of the parameters must be specified.</details><details><summary><code>description_length</code></summary>
3376
+ *
3377
+ * Limits the length of the description for a SEO field. Search engines usually
3378
+ * truncate description tags to 160 character so it is a good practice to keep
3379
+ * the description around this length.
3380
+ *
3381
+ * | Parameter | Type | Required | Description |
3382
+ * | --------- | --------- | -------- | ------------- |
3383
+ * | `min` | `Integer` | | Minimum value |
3384
+ * | `max` | `Integer` | | Maximum value |
3385
+ *
3386
+ * At least one of the parameters must be specified.</details><details><summary><code>rich_text_blocks</code></summary>
3387
+ *
3388
+ * Only accept references to block records of the specified block models.
3389
+ *
3390
+ * | Parameter | Type | Required | Description |
3391
+ * | ------------ | ----------------------- | -------- | ------------------------------ | ------------------- |
3392
+ * | `item_types` | `Array<Block Model ID>` | ✅ | Set of allowed Block Model IDs | </details><details> |<summary><code>structured_text_blocks</code></summary>
3393
+ *
3394
+ * Only accept references to block records of the specified block models.
3395
+ *
3396
+ * | Parameter | Type | Required | Description |
3397
+ * | ------------ | ----------------------- | -------- | ------------------------------ | ------------------- |
3398
+ * | `item_types` | `Array<Block Model ID>` | ✅ | Set of allowed Block Model IDs | </details><details> |<summary><code>structured_text_links</code></summary>
3399
+ *
3400
+ * Only accept `itemLink` to `inlineItem` nodes for records of the specified models.
3401
+ *
3402
+ * | Parameter | Type | Required | Description |
3403
+ * | ------------------------------------------------- | ------------------------------------------------------------------------------------- | -------- | --------------------------------------------------------------------------------------------------- |
3404
+ * | `item_types` | `Array<Model ID>` | ✅ | Set of allowed model IDs |
3405
+ * | `on_publish_with_unpublished_references_strategy` | `"fail"`, `"publish_references"` (default value: `"fail"`) | | Strategy to apply when a publishing is requested and this field references some unpublished records |
3406
+ * | `on_reference_unpublish_strategy` | `"fail"`, `"unpublish"`, `"delete_references"` (default value: `"delete_references"`) | | Strategy to apply when unpublishing is requested for a record referenced by this field |
3407
+ * | `on_reference_delete_strategy` | `"fail"`, `"delete_references"` (default value: `"delete_references"`) | | Strategy to apply when deletion is requested for a record referenced by this field |
3408
+ *
3409
+ * Possible values for `on_publish_with_unpublished_references_strategy`:
3410
+ *
3411
+ * - `"fail"`: Fail the operation and notify the user
3412
+ * - `"publish_references"`: Publish also the referenced records
3413
+ *
3414
+ * Possible values for `on_reference_unpublish_strategy`:
3415
+ *
3416
+ * - `"fail"`: Fail the operation and notify the user
3417
+ * - `"unpublish"`: Unpublish also this record
3418
+ * - `"delete_references"`: Try to remove the reference to the unpublished record
3419
+ * (if the field has a `required` validation it will fail)
3420
+ *
3421
+ * Possible values for `on_reference_delete_strategy`:
3422
+ *
3423
+ * - `"fail"`: Fail the operation and notify the user
3424
+ * - `"delete_references"`: Try to remove the reference to the deleted record (if
3425
+ * the field has a `required` validation it will fail)</details><details><summary><code>size</code></summary>
3426
+ *
3427
+ * Only accept a number of items within the specified range.
3428
+ *
3429
+ * | Parameter | Type | Required | Description |
3430
+ * | ------------- | --------- | -------- | -------------------------------------------------- |
3431
+ * | `min` | `Integer` | | Minimum length |
3432
+ * | `eq` | `Integer` | | Expected length |
3433
+ * | `max` | `Integer` | | Maximum length |
3434
+ * | `multiple_of` | `Integer` | | The number of items must be multiple of this value |
3435
+ *
3436
+ * At least one parameter must be specified.</details><details><summary><code>slug_title_field</code></summary>
3437
+ *
3438
+ * Specifies the ID of the *Single-line string* field that will be used to
3439
+ * generate the slug
3440
+ *
3441
+ * | Parameter | Type | Required | Description |
3442
+ * | ---------------- | ---------- | -------- | ------------------------------------------------ | ------------------- |
3443
+ * | `title_field_id` | `Field ID` | ✅ | The field that will be used to generate the slug | </details><details> |<summary><code>unique</code></summary>
3444
+ *
3445
+ * The value must be unique across the whole collection of records.</details>
3446
+ *
3447
+ * ### Configuration parameters for DatoCMS built-in field editors
3448
+ *
3449
+ * If a field editor is not specified in this table, just pass an empty object
3450
+ * `{}` as its configuration parameters.<details><summary><code>boolean_radio_group</code></summary>
3451
+ *
3452
+ * Radio group input for *boolean* fields.
3453
+ *
3454
+ * | Parameter | Type | Required | Description |
3455
+ * | ---------------- | ---------------------------------- | -------- | ----------------------------------------- | ------------------- |
3456
+ * | `positive_radio` | `{ label: string, hint?: string }` | ✅ | Radio input for positive choice (`true`) |
3457
+ * | `negative_radio` | `{ label: string, hint?: string }` | ✅ | Radio input for negative choice (`false`) | </details><details> |<summary><code>string_radio_group</code></summary>
3458
+ *
3459
+ * Radio group input for *string* fields.
3460
+ *
3461
+ * | Parameter | Type | Required | Description |
3462
+ * | --------- | -------------------------------------------------------- | -------- | --------------------------- | ------------------- |
3463
+ * | `radios` | `Array<{ label: string, value: string, hint?: string }>` | ✅ | The different radio options | </details><details> |<summary><code>string_select</code></summary>
3464
+ *
3465
+ * Select input for *string* fields.
3466
+ *
3467
+ * | Parameter | Type | Required | Description |
3468
+ * | --------- | -------------------------------------------------------- | -------- | ---------------------------- | ------------------- |
3469
+ * | `options` | `Array<{ label: string, value: string, hint?: string }>` | ✅ | The different select options | </details><details> |<summary><code>string_multi_select</code></summary>
3470
+ *
3471
+ * Select input for *JSON* fields, to edit an array of strings.
3472
+ *
3473
+ * | Parameter | Type | Required | Description |
3474
+ * | --------- | -------------------------------------------------------- | -------- | ---------------------------- | ------------------- |
3475
+ * | `options` | `Array<{ label: string, value: string, hint?: string }>` | ✅ | The different select options | </details><details> |<summary><code>string_checkbox_group</code></summary>
2589
3476
  *
2590
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
2591
- * `definition` "field".
3477
+ * Multiple chechboxes input for *JSON* fields, to edit an array of strings.
3478
+ *
3479
+ * | Parameter | Type | Required | Description |
3480
+ * | --------- | -------------------------------------------------------- | -------- | ---------------------------- | ------------------- |
3481
+ * | `options` | `Array<{ label: string, value: string, hint?: string }>` | ✅ | The different select options | </details><details> |<summary><code>single_line</code></summary>
3482
+ *
3483
+ * Simple textual input for *Single-line string* fields.
3484
+ *
3485
+ * | Parameter | Type | Required | Description |
3486
+ * | --------- | --------- | -------- | -------------------------------------------------------------------------------- | ------------------- |
3487
+ * | `heading` | `Boolean` | ✅ | Indicates if the field should be shown bigger, as a field representing a heading | </details><details> |<summary><code>markdown</code></summary>
3488
+ *
3489
+ * Markdown editor for *Multiple-paragraph text* fields.
3490
+ *
3491
+ * | Parameter | Type | Required | Description |
3492
+ * | --------- | --------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- |
3493
+ * | `toolbar` | `Array<String>` | ✅ | Specify which buttons the toolbar should have. Valid values: `"heading"`, `"bold"`, `"italic"`, `"strikethrough"`, `"code"`, `"unordered_list"`, `"ordered_list"`, `"quote"`, `"link"`, `"image"`, `"fullscreen"` | </details><details> |<summary><code>wysiwyg</code></summary>
3494
+ *
3495
+ * HTML editor for *Multiple-paragraph text* fields.
3496
+ *
3497
+ * | Parameter | Type | Required | Description |
3498
+ * | --------- | --------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- |
3499
+ * | `toolbar` | `Array<String>` | ✅ | Specify which buttons the toolbar should have. Valid values: `"format"`, `"bold"`, `"italic"`, `"strikethrough"`, `"code"`, `"ordered_list"`, `"unordered_list"`, `"quote"`, `"table"`, `"link"`, `"image"`, `"show_source"`, `"undo"`, `"redo"`, `"align_left"`, `"align_center"`, `"align_right"`, `"align_justify"`, `"outdent"`, `"indent"`, `"fullscreen"` | </details><details> |<summary><code>textarea</code></summary>
3500
+ *
3501
+ * Basic textarea editor for *Multiple-paragraph text* fields.</details><details><summary><code>color_picker</code></summary>
3502
+ *
3503
+ * Built-in editor for *Color* fields.
3504
+ *
3505
+ * | Parameter | Type | Required | Description |
3506
+ * | --------------- | ------------------------- | -------- | --------------------------------------------------------- | ------------------- |
3507
+ * | `enable_alpha` | `Boolean` | ✅ | Should the color picker allow to specify the alpha value? |
3508
+ * | `preset_colors` | `Array<Hex color string>` | ✅ | List of preset colors to offer to the user | </details><details> |<summary><code>slug</code></summary>
3509
+ *
3510
+ * Built-in editor for *Slug* fields.
3511
+ *
3512
+ * | Parameter | Type | Required | Description |
3513
+ * | ------------ | -------- | -------- | -------------------------------------------------------------------------------------- | ------------------- |
3514
+ * | `url_prefix` | `String` | | A prefix that will be shown in the editor's form to give some context to your editors. | </details><details> |<summary><code>rich_text</code></summary>
3515
+ *
3516
+ * Built-in editor for *Modular content* fields.
3517
+ *
3518
+ * | Parameter | Type | Required | Description |
3519
+ * | ----------------- | --------- | -------- | ---------------------------------------------------------- | ------------------- |
3520
+ * | `start_collapsed` | `Boolean` | | Whether you want block records collapsed by default or not | </details><details> |<summary><code>structured_text</code></summary>
3521
+ *
3522
+ * Built-in editor for *Structured text* fields.
3523
+ *
3524
+ * | Parameter | Type | Required | Description |
3525
+ * | ------------------------- | --------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- |
3526
+ * | `nodes` | `Array<String>` | ✅ | Specify which nodes the field should allow. Valid values: `"blockquote"`, `"code"`, `"heading"`, `"link"`, `"list"`, `"thematicBreak"` |
3527
+ * | `marks` | `Array<String>` | ✅ | Specify which marks the field should allow. Valid values: `"strong"`, `"emphasis"`, `"underline"`, `"strikethrough"`, `"code"`, `"highlight"` |
3528
+ * | `blocks_start_collapsed` | `Boolean` | | Whether you want block nodes collapsed by default or not |
3529
+ * | `show_links_target_blank` | `Boolean` | | Whether you want to show the "Open this link in a new tab?" checkbox, that fills in the `target: "_blank"` meta attribute for links |
3530
+ * | `show_links_meta_editor` | `Boolean` | | Whether you want to show the complete meta editor for links | </details><details> |<summary><code>link_select</code> and <code>links_select</code></summary>
3531
+ *
3532
+ * Use a select input with auto-completion to pick the records to reference
3533
+ * inside the field.</details><details><summary><code>link_embed</code> and <code>links_embed</code></summary>
3534
+ *
3535
+ * Use an expanded view with records' image preview to pick the records to
3536
+ * reference inside the field.</details>
3537
+ *
3538
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition` "field".
2592
3539
  */
2593
3540
  export interface Field {
2594
3541
  type: FieldType;
@@ -2683,15 +3630,6 @@ export interface FieldRelationships {
2683
3630
  data: null | FieldsetData;
2684
3631
  };
2685
3632
  }
2686
- /**
2687
- * JSON API data
2688
- *
2689
- * This interface was referenced by `Fieldset`'s JSON-Schema via the `definition` "data".
2690
- */
2691
- export interface FieldsetData {
2692
- type: FieldsetType;
2693
- id: FieldsetIdentity;
2694
- }
2695
3633
  /** This interface was referenced by `Field`'s JSON-Schema via the `create.schema` link. */
2696
3634
  export interface FieldCreateSchema {
2697
3635
  data: {
@@ -2781,7 +3719,7 @@ export interface FieldCreateTargetSchema {
2781
3719
  /** This interface was referenced by `Field`'s JSON-Schema via the `create.jobSchema` link. */
2782
3720
  export interface FieldCreateJobSchema {
2783
3721
  data: Field;
2784
- included?: ModelBlock[];
3722
+ included?: ItemType[];
2785
3723
  }
2786
3724
  /** This interface was referenced by `Field`'s JSON-Schema via the `update.schema` link. */
2787
3725
  export interface FieldUpdateSchema {
@@ -2872,7 +3810,7 @@ export interface FieldUpdateTargetSchema {
2872
3810
  /** This interface was referenced by `Field`'s JSON-Schema via the `update.jobSchema` link. */
2873
3811
  export interface FieldUpdateJobSchema {
2874
3812
  data: Field;
2875
- included?: (ModelBlock | Field)[];
3813
+ included?: (ItemType | Field)[];
2876
3814
  }
2877
3815
  /**
2878
3816
  * This interface was referenced by `Field`'s JSON-Schema via the
@@ -2915,7 +3853,7 @@ export interface FieldDestroyTargetSchema {
2915
3853
  */
2916
3854
  export interface FieldDestroyJobSchema {
2917
3855
  data: Field;
2918
- included?: ModelBlock[];
3856
+ included?: ItemType[];
2919
3857
  }
2920
3858
  /**
2921
3859
  * This interface was referenced by `Field`'s JSON-Schema via the
@@ -2930,13 +3868,13 @@ export interface FieldDuplicateTargetSchema {
2930
3868
  */
2931
3869
  export interface FieldDuplicateJobSchema {
2932
3870
  data: Field;
2933
- included: ModelBlock[];
3871
+ included: ItemType[];
2934
3872
  }
2935
3873
  /**
2936
3874
  * Fields can be organized and grouped into fieldset to better present them to editors.
2937
3875
  *
2938
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
2939
- * `definition` "fieldset".
3876
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
3877
+ * "fieldset".
2940
3878
  */
2941
3879
  export interface Fieldset {
2942
3880
  type: FieldsetType;
@@ -3056,8 +3994,8 @@ export interface FieldsetDestroyTargetSchema {
3056
3994
  /**
3057
3995
  * A session is required to access to read-and-write API endpoints
3058
3996
  *
3059
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
3060
- * `definition` "session".
3997
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
3998
+ * "session".
3061
3999
  */
3062
4000
  export interface Session {
3063
4001
  type: SessionType;
@@ -3099,26 +4037,6 @@ export interface SessionCreateSchema {
3099
4037
  /** Two-factor authentication one-time password */
3100
4038
  otp_code?: string;
3101
4039
  };
3102
- } | {
3103
- /** JSON API type field */
3104
- type: 'password_reset';
3105
- /** JSON API attributes */
3106
- attributes: {
3107
- /** Invitation token */
3108
- token: string;
3109
- /** Password */
3110
- password: string;
3111
- };
3112
- } | {
3113
- /** JSON API type field */
3114
- type: 'invitation';
3115
- /** JSON API attributes */
3116
- attributes: {
3117
- /** Invitation token */
3118
- token: string;
3119
- /** Password */
3120
- password: string;
3121
- };
3122
4040
  };
3123
4041
  }
3124
4042
  /**
@@ -3129,165 +4047,11 @@ export interface SessionCreateTargetSchema {
3129
4047
  data: Session;
3130
4048
  included: User[];
3131
4049
  }
3132
- /**
3133
- * An API token allows access to our API. It is linked to a Role, which
3134
- * describes what actions can be performed.
3135
- *
3136
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
3137
- * `definition` "access_token".
3138
- */
3139
- export interface AccessToken {
3140
- type: AccessTokenType;
3141
- id: AccessTokenIdentity;
3142
- attributes: AccessTokenAttributes;
3143
- relationships: AccessTokenRelationships;
3144
- }
3145
- /**
3146
- * JSON API attributes
3147
- *
3148
- * This interface was referenced by `AccessToken`'s JSON-Schema via the
3149
- * `definition` "attributes".
3150
- */
3151
- export interface AccessTokenAttributes {
3152
- /** Name of API token */
3153
- name: string;
3154
- /** The actual API token */
3155
- token?: string;
3156
- /** Whether this API token can access the Content Delivery API published content endpoint */
3157
- can_access_cda: boolean;
3158
- /** Whether this API token can access the Content Delivery API draft content endpoint */
3159
- can_access_cda_preview: boolean;
3160
- /** Whether this API token can access the Content Management API */
3161
- can_access_cma: boolean;
3162
- hardcoded_type: null | string;
3163
- }
3164
- /**
3165
- * JSON API links
3166
- *
3167
- * This interface was referenced by `AccessToken`'s JSON-Schema via the
3168
- * `definition` "relationships".
3169
- */
3170
- export interface AccessTokenRelationships {
3171
- /** Role */
3172
- role: {
3173
- data: RoleData | null;
3174
- };
3175
- }
3176
- /**
3177
- * JSON API data
3178
- *
3179
- * This interface was referenced by `AccessToken`'s JSON-Schema via the
3180
- * `definition` "data".
3181
- */
3182
- export interface AccessTokenData {
3183
- type: AccessTokenType;
3184
- id: AccessTokenIdentity;
3185
- }
3186
- /**
3187
- * This interface was referenced by `AccessToken`'s JSON-Schema via the
3188
- * `create.schema` link.
3189
- */
3190
- export interface AccessTokenCreateSchema {
3191
- data: {
3192
- type: AccessTokenType;
3193
- attributes: {
3194
- /** Name of API token */
3195
- name: string;
3196
- /**
3197
- * Whether this API token can access the Content Delivery API published
3198
- * content endpoint
3199
- */
3200
- can_access_cda: boolean;
3201
- /** Whether this API token can access the Content Delivery API draft content endpoint */
3202
- can_access_cda_preview: boolean;
3203
- /** Whether this API token can access the Content Management API */
3204
- can_access_cma: boolean;
3205
- };
3206
- relationships: {
3207
- /** Role */
3208
- role: {
3209
- data: RoleData | null;
3210
- };
3211
- };
3212
- };
3213
- }
3214
- /**
3215
- * This interface was referenced by `AccessToken`'s JSON-Schema via the
3216
- * `create.targetSchema` link.
3217
- */
3218
- export interface AccessTokenCreateTargetSchema {
3219
- data: AccessToken;
3220
- }
3221
- /**
3222
- * This interface was referenced by `AccessToken`'s JSON-Schema via the
3223
- * `update.schema` link.
3224
- */
3225
- export interface AccessTokenUpdateSchema {
3226
- data: {
3227
- type: AccessTokenType;
3228
- id: AccessTokenIdentity;
3229
- attributes: {
3230
- /** Name of API token */
3231
- name: string;
3232
- /**
3233
- * Whether this API token can access the Content Delivery API published
3234
- * content endpoint
3235
- */
3236
- can_access_cda: boolean;
3237
- /** Whether this API token can access the Content Delivery API draft content endpoint */
3238
- can_access_cda_preview: boolean;
3239
- /** Whether this API token can access the Content Management API */
3240
- can_access_cma: boolean;
3241
- };
3242
- relationships: {
3243
- /** Role */
3244
- role: {
3245
- data: RoleData | null;
3246
- };
3247
- };
3248
- };
3249
- }
3250
- /**
3251
- * This interface was referenced by `AccessToken`'s JSON-Schema via the
3252
- * `update.targetSchema` link.
3253
- */
3254
- export interface AccessTokenUpdateTargetSchema {
3255
- data: AccessToken;
3256
- }
3257
- /**
3258
- * This interface was referenced by `AccessToken`'s JSON-Schema via the
3259
- * `instances.targetSchema` link.
3260
- */
3261
- export interface AccessTokenInstancesTargetSchema {
3262
- data: AccessToken[];
3263
- }
3264
- /**
3265
- * This interface was referenced by `AccessToken`'s JSON-Schema via the
3266
- * `self.targetSchema` link.
3267
- */
3268
- export interface AccessTokenSelfTargetSchema {
3269
- data: AccessToken;
3270
- }
3271
- /**
3272
- * This interface was referenced by `AccessToken`'s JSON-Schema via the
3273
- * `regenerate_token.targetSchema` link.
3274
- */
3275
- export interface AccessTokenRegenerateTokenTargetSchema {
3276
- data: AccessToken;
3277
- }
3278
- /**
3279
- * This interface was referenced by `AccessToken`'s JSON-Schema via the
3280
- * `destroy.targetSchema` link.
3281
- */
3282
- export interface AccessTokenDestroyTargetSchema {
3283
- data: AccessToken;
3284
- }
3285
4050
  /**
3286
4051
  * Plugins enable developers to replace DatoCMS field components with HTML5
3287
4052
  * applications so the editing experiences of the DatoCMS web app can be customized.
3288
4053
  *
3289
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
3290
- * `definition` "plugin".
4054
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition` "plugin".
3291
4055
  */
3292
4056
  export interface Plugin {
3293
4057
  type: PluginType;
@@ -3358,14 +4122,14 @@ export interface PluginCreateSchema {
3358
4122
  * NPM package name of the public plugin you want to install. For public
3359
4123
  * plugins, that's the only attribute you need to pass.
3360
4124
  */
3361
- package_name?: string;
4125
+ package_name?: null | string;
3362
4126
  /** The name of the plugin. Only to be passed if package name key is not specified. */
3363
4127
  name?: string;
3364
4128
  /**
3365
4129
  * A description of the plugin. Only to be passed if package name key is
3366
4130
  * not specified.
3367
4131
  */
3368
- description?: string;
4132
+ description?: null | string;
3369
4133
  /**
3370
4134
  * The entry point URL of the plugin. Only to be passed if package name
3371
4135
  * key is not specified.
@@ -3392,7 +4156,7 @@ export interface PluginCreateSchema {
3392
4156
  instance: unknown[];
3393
4157
  };
3394
4158
  /** NPM version of the plugin */
3395
- package_version?: string;
4159
+ package_version?: null | string;
3396
4160
  };
3397
4161
  };
3398
4162
  }
@@ -3424,6 +4188,8 @@ export interface PluginUpdateSchema {
3424
4188
  };
3425
4189
  /** The installed version of the plugin (or null if it's a private plugin) */
3426
4190
  package_version?: null | string;
4191
+ /** Permissions granted to this plugin */
4192
+ permissions?: 'currentUserAccessToken'[];
3427
4193
  };
3428
4194
  meta?: {
3429
4195
  [k: string]: unknown;
@@ -3468,8 +4234,8 @@ export interface PluginFieldsTargetSchema {
3468
4234
  /**
3469
4235
  * Some API endpoint give results asynchronously, returning the ID of a job.
3470
4236
  *
3471
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
3472
- * `definition` "job_result".
4237
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
4238
+ * "job_result".
3473
4239
  */
3474
4240
  export interface JobResult {
3475
4241
  type: JobResultType;
@@ -3507,8 +4273,8 @@ export interface JobResultSelfTargetSchema {
3507
4273
  data: JobResult;
3508
4274
  }
3509
4275
  /**
3510
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
3511
- * `definition` "subscription_limit".
4276
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
4277
+ * "subscription_limit".
3512
4278
  */
3513
4279
  export interface SubscriptionLimit {
3514
4280
  type: SubscriptionLimitType;
@@ -3554,8 +4320,8 @@ export interface SubscriptionLimitSelfTargetSchema {
3554
4320
  data: SubscriptionLimit;
3555
4321
  }
3556
4322
  /**
3557
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
3558
- * `definition` "subscription_feature".
4323
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
4324
+ * "subscription_feature".
3559
4325
  */
3560
4326
  export interface SubscriptionFeature {
3561
4327
  type: SubscriptionFeatureType;
@@ -3596,8 +4362,8 @@ export interface SubscriptionFeatureInstancesTargetSchema {
3596
4362
  /**
3597
4363
  * Represents an event occurred during the deploy process of your administrative area.
3598
4364
  *
3599
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
3600
- * `definition` "build_event".
4365
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
4366
+ * "build_event".
3601
4367
  */
3602
4368
  export interface BuildEvent {
3603
4369
  type: BuildEventType;
@@ -3672,11 +4438,10 @@ export interface BuildEventSelfTargetSchema {
3672
4438
  * records, which are much like table rows in a database. For
3673
4439
  * backward-compatibility reasons, the API refers to records as "items".
3674
4440
  *
3675
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
3676
- * `definition` "item".
4441
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition` "item".
3677
4442
  */
3678
4443
  export interface Item {
3679
- type: ItemType;
4444
+ type: ItemType1;
3680
4445
  id: ItemIdentity;
3681
4446
  attributes: ItemAttributes;
3682
4447
  relationships: ItemRelationships;
@@ -3754,12 +4519,13 @@ export interface ItemInstancesTargetSchema {
3754
4519
  export interface ItemValidateExistingSchema {
3755
4520
  data: {
3756
4521
  id: ItemIdentity;
3757
- type: ItemType;
4522
+ type: ItemType1;
3758
4523
  /** The JSON data associated to the record */
3759
4524
  attributes: {
3760
4525
  [k: string]: unknown;
3761
4526
  };
3762
4527
  relationships: {
4528
+ /** The record's model */
3763
4529
  item_type: {
3764
4530
  data: ItemTypeData;
3765
4531
  };
@@ -3779,12 +4545,13 @@ export interface ItemValidateExistingSchema {
3779
4545
  */
3780
4546
  export interface ItemValidateNewSchema {
3781
4547
  data: {
3782
- type: ItemType;
4548
+ type: ItemType1;
3783
4549
  /** The JSON data associated to the record */
3784
4550
  attributes: {
3785
4551
  [k: string]: unknown;
3786
4552
  };
3787
4553
  relationships: {
4554
+ /** The record's model */
3788
4555
  item_type: {
3789
4556
  data: ItemTypeData;
3790
4557
  };
@@ -3794,7 +4561,7 @@ export interface ItemValidateNewSchema {
3794
4561
  /** This interface was referenced by `Item`'s JSON-Schema via the `create.schema` link. */
3795
4562
  export interface ItemCreateSchema {
3796
4563
  data: {
3797
- type: ItemType;
4564
+ type: ItemType1;
3798
4565
  /** The JSON data associated to the record */
3799
4566
  attributes: {
3800
4567
  [k: string]: unknown;
@@ -3819,7 +4586,7 @@ export interface ItemCreateSchema {
3819
4586
  current_version?: string;
3820
4587
  };
3821
4588
  relationships: {
3822
- /** The record model */
4589
+ /** The record's model */
3823
4590
  item_type: {
3824
4591
  data: ItemTypeData;
3825
4592
  };
@@ -3832,7 +4599,7 @@ export interface ItemCreateSchema {
3832
4599
  */
3833
4600
  export interface ItemCreateTargetSchema {
3834
4601
  data: Item;
3835
- included: (ModelBlock | Item)[];
4602
+ included: (ItemType | Item)[];
3836
4603
  }
3837
4604
  /**
3838
4605
  * This interface was referenced by `Item`'s JSON-Schema via the
@@ -3847,12 +4614,12 @@ export interface ItemDuplicateTargetSchema {
3847
4614
  */
3848
4615
  export interface ItemDuplicateJobSchema {
3849
4616
  data: Item;
3850
- included: ModelBlock[];
4617
+ included: ItemType[];
3851
4618
  }
3852
4619
  /** This interface was referenced by `Item`'s JSON-Schema via the `update.schema` link. */
3853
4620
  export interface ItemUpdateSchema {
3854
4621
  data: {
3855
- type: ItemType;
4622
+ type: ItemType1;
3856
4623
  id: ItemIdentity;
3857
4624
  /** The JSON data associated to the record */
3858
4625
  attributes?: {
@@ -3882,6 +4649,14 @@ export interface ItemUpdateSchema {
3882
4649
  stage?: string | null;
3883
4650
  };
3884
4651
  relationships?: {
4652
+ /** The record's model */
4653
+ item_type?: {
4654
+ data: ItemTypeData;
4655
+ };
4656
+ /**
4657
+ * The entity (account/collaborator/access token/sso user) who created the
4658
+ * record. It must be an object with `type` (e.g. 'account') and `id` properties.
4659
+ */
3885
4660
  creator?: {
3886
4661
  data: AccountData | AccessTokenData | UserData | SsoUserData;
3887
4662
  };
@@ -3894,7 +4669,7 @@ export interface ItemUpdateSchema {
3894
4669
  */
3895
4670
  export interface ItemUpdateTargetSchema {
3896
4671
  data: Item;
3897
- included?: (ModelBlock | Item)[];
4672
+ included?: (ItemType | Item)[];
3898
4673
  }
3899
4674
  /**
3900
4675
  * This interface was referenced by `Item`'s JSON-Schema via the
@@ -3978,7 +4753,7 @@ export interface ItemBatchUnpublishJobSchema {
3978
4753
  */
3979
4754
  export interface ItemPublishTargetSchema {
3980
4755
  data: Item;
3981
- included?: ModelBlock[];
4756
+ included?: ItemType[];
3982
4757
  }
3983
4758
  /**
3984
4759
  * This interface was referenced by `Item`'s JSON-Schema via the
@@ -3986,7 +4761,7 @@ export interface ItemPublishTargetSchema {
3986
4761
  */
3987
4762
  export interface ItemUnpublishTargetSchema {
3988
4763
  data: Item;
3989
- included?: ModelBlock[];
4764
+ included?: ItemType[];
3990
4765
  }
3991
4766
  /**
3992
4767
  * This interface was referenced by `Item`'s JSON-Schema via the
@@ -4135,8 +4910,8 @@ export interface ItemBulkMoveToStageJobSchema {
4135
4910
  /**
4136
4911
  * Every change to a record is stored as a separate record version in DatoCMS.
4137
4912
  *
4138
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
4139
- * `definition` "item_version".
4913
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
4914
+ * "item_version".
4140
4915
  */
4141
4916
  export interface ItemVersion {
4142
4917
  type: ItemVersionType;
@@ -4224,8 +4999,8 @@ export interface ItemVersionRestoreJobSchema {
4224
4999
  */
4225
5000
  export interface ItemVersionInstancesTargetSchema {
4226
5001
  data: ItemVersion[];
4227
- meta?: {
4228
- [k: string]: unknown;
5002
+ meta: {
5003
+ total_count: number;
4229
5004
  };
4230
5005
  }
4231
5006
  /**
@@ -4234,15 +5009,11 @@ export interface ItemVersionInstancesTargetSchema {
4234
5009
  */
4235
5010
  export interface ItemVersionSelfTargetSchema {
4236
5011
  data: ItemVersion;
4237
- meta?: {
4238
- [k: string]: unknown;
4239
- };
4240
5012
  }
4241
5013
  /**
4242
5014
  * Every file you upload to DatoCMS will be retrievable from this endpoint.
4243
5015
  *
4244
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
4245
- * `definition` "upload".
5016
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition` "upload".
4246
5017
  */
4247
5018
  export interface Upload {
4248
5019
  type: UploadType;
@@ -4440,7 +5211,7 @@ export interface UploadCreateJobSchema {
4440
5211
  */
4441
5212
  export interface UploadInstancesTargetSchema {
4442
5213
  data: Upload[];
4443
- meta?: {
5214
+ meta: {
4444
5215
  total_count: number;
4445
5216
  };
4446
5217
  }
@@ -4585,7 +5356,7 @@ export interface UploadBatchDestroyJobSchema {
4585
5356
  * `references.targetSchema` link.
4586
5357
  */
4587
5358
  export interface UploadReferencesTargetSchema {
4588
- data: Item;
5359
+ data: Item[];
4589
5360
  }
4590
5361
  /** This interface was referenced by `Upload`'s JSON-Schema via the `bulk_tag.schema` link. */
4591
5362
  export interface UploadBulkTagSchema {
@@ -4662,8 +5433,8 @@ export interface UploadBulkDestroyJobSchema {
4662
5433
  * through this API endpoint. The response will contain the S3 URL where you
4663
5434
  * will be able to upload the file with a direct PUT request.
4664
5435
  *
4665
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
4666
- * `definition` "upload_request".
5436
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
5437
+ * "upload_request".
4667
5438
  */
4668
5439
  export interface UploadRequest {
4669
5440
  type: UploadRequestType;
@@ -4706,8 +5477,8 @@ export interface UploadRequestCreateTargetSchema {
4706
5477
  /**
4707
5478
  * You can create scheduled publication to publish records in the future
4708
5479
  *
4709
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
4710
- * `definition` "scheduled_publication".
5480
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
5481
+ * "scheduled_publication".
4711
5482
  */
4712
5483
  export interface ScheduledPublication {
4713
5484
  type: ScheduledPublicationType;
@@ -4775,8 +5546,8 @@ export interface ScheduledPublicationDestroyTargetSchema {
4775
5546
  /**
4776
5547
  * You can create a scheduled unpublishing to unpublish records in the future
4777
5548
  *
4778
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
4779
- * `definition` "scheduled_unpublishing".
5549
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
5550
+ * "scheduled_unpublishing".
4780
5551
  */
4781
5552
  export interface ScheduledUnpublishing {
4782
5553
  type: ScheduledUnpublishingType;
@@ -4845,8 +5616,8 @@ export interface ScheduledUnpublishingDestroyTargetSchema {
4845
5616
  * DatoCMS Site Search is a way to deliver tailored search results to your site
4846
5617
  * visitors. This is the endpoint you can use to query for results.
4847
5618
  *
4848
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
4849
- * `definition` "search_result".
5619
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
5620
+ * "search_result".
4850
5621
  */
4851
5622
  export interface SearchResult {
4852
5623
  type: SearchResultType;
@@ -4925,8 +5696,8 @@ export interface SearchResultInstancesTargetSchema {
4925
5696
  * including the primary environment, **the data in all other environments isn’t
4926
5697
  * affected** and stays the same.
4927
5698
  *
4928
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
4929
- * `definition` "environment".
5699
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
5700
+ * "environment".
4930
5701
  */
4931
5702
  export interface Environment {
4932
5703
  type: EnvironmentType;
@@ -4948,6 +5719,8 @@ export interface EnvironmentMeta {
4948
5719
  last_data_change_at: string;
4949
5720
  /** Is this environment the primary for the project? */
4950
5721
  primary: boolean;
5722
+ /** ID of the environment that's been forked to generate this one */
5723
+ forked_from?: string | null;
4951
5724
  }
4952
5725
  /**
4953
5726
  * JSON API data
@@ -5020,8 +5793,8 @@ export interface EnvironmentDestroyJobSchema {
5020
5793
  data: Environment;
5021
5794
  }
5022
5795
  /**
5023
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
5024
- * `definition` "maintenance_mode".
5796
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
5797
+ * "maintenance_mode".
5025
5798
  */
5026
5799
  export interface MaintenanceMode {
5027
5800
  type: MaintenanceModeType;
@@ -5073,8 +5846,8 @@ export interface MaintenanceModeDeactivateTargetSchema {
5073
5846
  * A webhook allows to make requests following certain Dato events. It is linked
5074
5847
  * to a Role, which describes what actions can be performed.
5075
5848
  *
5076
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
5077
- * `definition` "webhook".
5849
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
5850
+ * "webhook".
5078
5851
  */
5079
5852
  export interface Webhook {
5080
5853
  type: WebhookType;
@@ -5231,8 +6004,8 @@ export interface WebhookDestroyTargetSchema {
5231
6004
  /**
5232
6005
  * Represents a log entry in the webhooks activity list.
5233
6006
  *
5234
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
5235
- * `definition` "webhook_call".
6007
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
6008
+ * "webhook_call".
5236
6009
  */
5237
6010
  export interface WebhookCall {
5238
6011
  type: WebhookCallType;
@@ -5298,13 +6071,16 @@ export interface WebhookCallData {
5298
6071
  */
5299
6072
  export interface WebhookCallInstancesTargetSchema {
5300
6073
  data: WebhookCall[];
6074
+ meta: {
6075
+ total_count: number;
6076
+ };
5301
6077
  }
5302
6078
  /**
5303
6079
  * Configuration for different build triggers. You can have different staging
5304
6080
  * and production environments in order to test your site before final deploy
5305
6081
  *
5306
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
5307
- * `definition` "build_trigger".
6082
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
6083
+ * "build_trigger".
5308
6084
  */
5309
6085
  export interface BuildTrigger {
5310
6086
  type: BuildTriggerType;
@@ -5435,8 +6211,8 @@ export interface BuildTriggerDestroyTargetSchema {
5435
6211
  * In DatoCMS you can create filters to help you (and other editors) quickly
5436
6212
  * search for records
5437
6213
  *
5438
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
5439
- * `definition` "item_type_filter".
6214
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
6215
+ * "item_type_filter".
5440
6216
  */
5441
6217
  export interface ItemTypeFilter {
5442
6218
  type: ItemTypeFilterType;
@@ -5499,7 +6275,12 @@ export interface ItemTypeFilterCreateSchema {
5499
6275
  /** Whether it's a shared filter or not */
5500
6276
  shared: boolean;
5501
6277
  };
5502
- relationships: ItemTypeFilterRelationships;
6278
+ relationships: {
6279
+ /** Model associated with the filter */
6280
+ item_type: {
6281
+ data: ItemTypeData;
6282
+ };
6283
+ };
5503
6284
  };
5504
6285
  }
5505
6286
  /**
@@ -5562,8 +6343,8 @@ export interface ItemTypeFilterDestroyTargetSchema {
5562
6343
  * In DatoCMS you can create filters to help you (and other editors) quickly
5563
6344
  * search for uploads
5564
6345
  *
5565
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
5566
- * `definition` "upload_filter".
6346
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
6347
+ * "upload_filter".
5567
6348
  */
5568
6349
  export interface UploadFilter {
5569
6350
  type: UploadFilterType;
@@ -5677,8 +6458,8 @@ export interface UploadFilterDestroyTargetSchema {
5677
6458
  * invitation is linked to a specific Role, which describes what actions it will
5678
6459
  * be able to perform once the user will register.
5679
6460
  *
5680
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
5681
- * `definition` "site_invitation".
6461
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
6462
+ * "site_invitation".
5682
6463
  */
5683
6464
  export interface SiteInvitation {
5684
6465
  type: SiteInvitationType;
@@ -5792,8 +6573,8 @@ export interface SiteInvitationDestroyTargetSchema {
5792
6573
  * Session track users movements in the administrative area, and allows locking
5793
6574
  * a record when editing it.
5794
6575
  *
5795
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
5796
- * `definition` "editing_session".
6576
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
6577
+ * "editing_session".
5797
6578
  */
5798
6579
  export interface EditingSession {
5799
6580
  type: EditingSessionType;
@@ -5841,7 +6622,7 @@ export interface EditingSessionRelationships {
5841
6622
  */
5842
6623
  export interface EditingSessionData {
5843
6624
  type: EditingSessionType;
5844
- id?: EditingSessionIdentity;
6625
+ id: EditingSessionIdentity;
5845
6626
  }
5846
6627
  /**
5847
6628
  * This interface was referenced by `EditingSession`'s JSON-Schema via the
@@ -5909,8 +6690,8 @@ export interface EditingSessionDestroyTargetSchema {
5909
6690
  * Identity Provider. These groups can be used to link DatoCMS roles to the
5910
6691
  * Identity Provider's groups.
5911
6692
  *
5912
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
5913
- * `definition` "sso_group".
6693
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
6694
+ * "sso_group".
5914
6695
  */
5915
6696
  export interface SsoGroup {
5916
6697
  type: SsoGroupType;
@@ -6000,8 +6781,8 @@ export interface SsoGroupDestroyTargetSchema {
6000
6781
  /**
6001
6782
  * Represents the Single Sign-on settings of the current DatoCMS project
6002
6783
  *
6003
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
6004
- * `definition` "sso_settings".
6784
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
6785
+ * "sso_settings".
6005
6786
  */
6006
6787
  export interface SsoSettings {
6007
6788
  type: SsoSettingsType;
@@ -6106,8 +6887,8 @@ export interface SsoSettingsUpdateTargetSchema {
6106
6887
  /**
6107
6888
  * Represents the white-label settings of the current DatoCMS project
6108
6889
  *
6109
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
6110
- * `definition` "white_label_settings".
6890
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
6891
+ * "white_label_settings".
6111
6892
  */
6112
6893
  export interface WhiteLabelSettings {
6113
6894
  type: WhiteLabelSettingsType;
@@ -6171,8 +6952,8 @@ export interface WhiteLabelSettingsUpdateTargetSchema {
6171
6952
  /**
6172
6953
  * Info that can be accessed by unauthorized users
6173
6954
  *
6174
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
6175
- * `definition` "public_info".
6955
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
6956
+ * "public_info".
6176
6957
  */
6177
6958
  export interface PublicInfo {
6178
6959
  type: PublicInfoType;
@@ -6232,6 +7013,7 @@ export interface PublicInfoAttributes {
6232
7013
  extras: null | {
6233
7014
  blocks_depth: number;
6234
7015
  blocks_per_item: number;
7016
+ maximum_single_upload_bytes: number;
6235
7017
  [k: string]: unknown;
6236
7018
  };
6237
7019
  }
@@ -6255,8 +7037,8 @@ export interface PublicInfoSelfTargetSchema {
6255
7037
  /**
6256
7038
  * DatoCMS resources usage organized by day
6257
7039
  *
6258
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
6259
- * `definition` "daily_usage".
7040
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
7041
+ * "daily_usage".
6260
7042
  */
6261
7043
  export interface DailyUsage {
6262
7044
  type: DailyUsageType;
@@ -6307,8 +7089,8 @@ export interface DailyUsageInstancesTargetSchema {
6307
7089
  * originating. Counters are updated every minute, so you can debug in real-time
6308
7090
  * the results of your changes.
6309
7091
  *
6310
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
6311
- * `definition` "usage_counter".
7092
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
7093
+ * "usage_counter".
6312
7094
  */
6313
7095
  export interface UsageCounter {
6314
7096
  type: UsageCounterType;
@@ -6349,8 +7131,8 @@ export interface UsageCounterSelfTargetSchema {
6349
7131
  /**
6350
7132
  * All the project's upload tags
6351
7133
  *
6352
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
6353
- * `definition` "upload_tag".
7134
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
7135
+ * "upload_tag".
6354
7136
  */
6355
7137
  export interface UploadTag {
6356
7138
  type: UploadTagType;
@@ -6382,6 +7164,9 @@ export interface UploadTagData {
6382
7164
  */
6383
7165
  export interface UploadTagInstancesTargetSchema {
6384
7166
  data: UploadTag[];
7167
+ meta: {
7168
+ total_count: number;
7169
+ };
6385
7170
  }
6386
7171
  /**
6387
7172
  * This interface was referenced by `UploadTag`'s JSON-Schema via the
@@ -6406,8 +7191,8 @@ export interface UploadTagCreateTargetSchema {
6406
7191
  /**
6407
7192
  * All the site's upload automatically generated tags
6408
7193
  *
6409
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
6410
- * `definition` "upload_smart_tag".
7194
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
7195
+ * "upload_smart_tag".
6411
7196
  */
6412
7197
  export interface UploadSmartTag {
6413
7198
  type: UploadSmartTagType;
@@ -6440,18 +7225,21 @@ export interface UploadSmartTagData {
6440
7225
  */
6441
7226
  export interface UploadSmartTagInstancesTargetSchema {
6442
7227
  data: UploadSmartTag[];
7228
+ meta: {
7229
+ total_count: number;
7230
+ };
6443
7231
  }
6444
7232
  /**
6445
7233
  * A site represents a specific DatoCMS administrative area
6446
7234
  *
6447
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
6448
- * `definition` "site".
7235
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition` "site".
6449
7236
  */
6450
7237
  export interface Site {
6451
7238
  type: SiteType;
6452
7239
  id: SiteIdentity;
6453
7240
  attributes: SiteAttributes;
6454
7241
  relationships: SiteRelationships;
7242
+ meta: SiteMeta;
6455
7243
  }
6456
7244
  /**
6457
7245
  * JSON API attributes
@@ -6480,8 +7268,6 @@ export interface SiteAttributes {
6480
7268
  favicon: string | null;
6481
7269
  /** Specifies the last time when a change of data occurred */
6482
7270
  last_data_change_at: null | string;
6483
- /** Frontend website url */
6484
- frontend_url: string | null;
6485
7271
  /**
6486
7272
  * Specifies whether all users of this site need to authenticate using
6487
7273
  * two-factor authentication
@@ -6555,34 +7341,19 @@ export interface SiteRelationships {
6555
7341
  account: {
6556
7342
  data: AccountData;
6557
7343
  };
6558
- build_triggers?: {
6559
- /** The list of build trigger */
6560
- data: BuildTriggerData[];
6561
- };
6562
- menu_items: {
6563
- /** The list of site menu items */
6564
- data: MenuItemData[];
6565
- };
6566
- sso_users: {
6567
- /** The list of site SSO users */
6568
- data: SsoUserData[];
6569
- };
6570
- users: {
6571
- /** The list of site users */
6572
- data: UserData[];
6573
- };
6574
7344
  item_types: {
6575
- /** The list of site item types */
7345
+ /** The list item types for the site */
6576
7346
  data: ItemTypeData[];
6577
7347
  };
6578
- sso_default_role?: {
6579
- /** Specifies the default role for newly created identity providers users */
6580
- data: RoleData[];
6581
- };
6582
- roles: {
6583
- /** The list of site roles */
6584
- data: RoleData[];
6585
- };
7348
+ }
7349
+ /**
7350
+ * Meta attributes
7351
+ *
7352
+ * This interface was referenced by `Site`'s JSON-Schema via the `definition` "meta".
7353
+ */
7354
+ export interface SiteMeta {
7355
+ /** Whether the Improved API Timezone Management option is active or not */
7356
+ improved_timezone_management: boolean;
6586
7357
  }
6587
7358
  /**
6588
7359
  * JSON API data
@@ -6596,7 +7367,7 @@ export interface SiteData {
6596
7367
  /** This interface was referenced by `Site`'s JSON-Schema via the `self.targetSchema` link. */
6597
7368
  export interface SiteSelfTargetSchema {
6598
7369
  data: Site;
6599
- included?: (MenuItem | User | ModelBlock | Role | Field | Upload | SsoUser)[];
7370
+ included?: (ItemType | Field | Upload | Fieldset | Item | Account)[];
6600
7371
  }
6601
7372
  /** This interface was referenced by `Site`'s JSON-Schema via the `update.schema` link. */
6602
7373
  export interface SiteUpdateSchema {
@@ -6677,6 +7448,10 @@ export interface SiteUpdateSchema {
6677
7448
  /** Specifies whether you want IPs to be tracked in the Project usages section */
6678
7449
  ip_tracking_enabled?: boolean;
6679
7450
  };
7451
+ meta?: {
7452
+ /** Whether the Improved API Timezone Management option is active or not */
7453
+ improved_timezone_management?: boolean;
7454
+ };
6680
7455
  relationships?: {
6681
7456
  sso_default_role?: {
6682
7457
  data: RoleData;
@@ -6695,13 +7470,27 @@ export interface SiteUpdateTargetSchema {
6695
7470
  export interface SiteUpdateJobSchema {
6696
7471
  data: Site;
6697
7472
  }
7473
+ /**
7474
+ * This interface was referenced by `Site`'s JSON-Schema via the
7475
+ * `activate_improved_timezone_management.targetSchema` link.
7476
+ */
7477
+ export interface SiteActivateImprovedTimezoneManagementTargetSchema {
7478
+ data: Job;
7479
+ }
7480
+ /**
7481
+ * This interface was referenced by `Site`'s JSON-Schema via the
7482
+ * `activate_improved_timezone_management.jobSchema` link.
7483
+ */
7484
+ export interface SiteActivateImprovedTimezoneManagementJobSchema {
7485
+ data: Site;
7486
+ }
6698
7487
  /**
6699
7488
  * Through workflows it is possible to set up a precise state machine able to
6700
7489
  * bring a draft content up to the final publication (and beyond), through a
6701
7490
  * series of intermediate, fully customizable approval steps.
6702
7491
  *
6703
- * This interface was referenced by `DatoCMSSiteAPI`'s JSON-Schema via the
6704
- * `definition` "workflow".
7492
+ * This interface was referenced by `DatoApi`'s JSON-Schema via the `definition`
7493
+ * "workflow".
6705
7494
  */
6706
7495
  export interface Workflow {
6707
7496
  type: WorkflowType;