@datocms/cma-client 5.2.0-alpha.3 → 5.2.0-alpha.5

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.
Files changed (63) hide show
  1. package/README.md +4 -0
  2. package/dist/cjs/generated/Client.js +3 -3
  3. package/dist/cjs/generated/Client.js.map +1 -1
  4. package/dist/cjs/generated/resources/ItemType.js +12 -12
  5. package/dist/cjs/generated/resources/Role.js +8 -8
  6. package/dist/cjs/generated/resources/Role.js.map +1 -1
  7. package/dist/cjs/generated/resources/{SiteSearchSource.js → SearchIndex.js} +59 -71
  8. package/dist/cjs/generated/resources/SearchIndex.js.map +1 -0
  9. package/dist/cjs/generated/resources/{SiteSearchSourceEvent.js → SearchIndexEvent.js} +19 -19
  10. package/dist/cjs/generated/resources/SearchIndexEvent.js.map +1 -0
  11. package/dist/cjs/generated/resources/index.js +5 -5
  12. package/dist/cjs/generated/resources/index.js.map +1 -1
  13. package/dist/cjs/utilities/schemaRepository.js +131 -0
  14. package/dist/cjs/utilities/schemaRepository.js.map +1 -1
  15. package/dist/esm/generated/ApiTypes.d.ts +273 -270
  16. package/dist/esm/generated/Client.d.ts +2 -2
  17. package/dist/esm/generated/Client.js +3 -3
  18. package/dist/esm/generated/Client.js.map +1 -1
  19. package/dist/esm/generated/RawApiTypes.d.ts +265 -258
  20. package/dist/esm/generated/resources/ItemType.d.ts +12 -12
  21. package/dist/esm/generated/resources/ItemType.js +12 -12
  22. package/dist/esm/generated/resources/Role.js +8 -8
  23. package/dist/esm/generated/resources/Role.js.map +1 -1
  24. package/dist/esm/generated/resources/SearchIndex.d.ts +132 -0
  25. package/dist/esm/generated/resources/{SiteSearchSource.js → SearchIndex.js} +58 -70
  26. package/dist/esm/generated/resources/SearchIndex.js.map +1 -0
  27. package/dist/esm/generated/resources/SearchIndexEvent.d.ts +61 -0
  28. package/dist/esm/generated/resources/{SiteSearchSourceEvent.js → SearchIndexEvent.js} +18 -18
  29. package/dist/esm/generated/resources/SearchIndexEvent.js.map +1 -0
  30. package/dist/esm/generated/resources/index.d.ts +2 -2
  31. package/dist/esm/generated/resources/index.js +2 -2
  32. package/dist/esm/generated/resources/index.js.map +1 -1
  33. package/dist/esm/utilities/schemaRepository.d.ts +42 -2
  34. package/dist/esm/utilities/schemaRepository.js +132 -1
  35. package/dist/esm/utilities/schemaRepository.js.map +1 -1
  36. package/dist/types/generated/ApiTypes.d.ts +273 -270
  37. package/dist/types/generated/Client.d.ts +2 -2
  38. package/dist/types/generated/RawApiTypes.d.ts +265 -258
  39. package/dist/types/generated/resources/ItemType.d.ts +12 -12
  40. package/dist/types/generated/resources/SearchIndex.d.ts +132 -0
  41. package/dist/types/generated/resources/SearchIndexEvent.d.ts +61 -0
  42. package/dist/types/generated/resources/index.d.ts +2 -2
  43. package/dist/types/utilities/schemaRepository.d.ts +42 -2
  44. package/package.json +3 -3
  45. package/resources.json +83 -85
  46. package/src/generated/ApiTypes.ts +274 -272
  47. package/src/generated/Client.ts +5 -5
  48. package/src/generated/RawApiTypes.ts +266 -259
  49. package/src/generated/resources/ItemType.ts +12 -12
  50. package/src/generated/resources/Role.ts +8 -8
  51. package/src/generated/resources/SearchIndex.ts +243 -0
  52. package/src/generated/resources/{SiteSearchSourceEvent.ts → SearchIndexEvent.ts} +32 -34
  53. package/src/generated/resources/index.ts +2 -2
  54. package/src/utilities/schemaRepository.ts +167 -9
  55. package/dist/cjs/generated/resources/SiteSearchSource.js.map +0 -1
  56. package/dist/cjs/generated/resources/SiteSearchSourceEvent.js.map +0 -1
  57. package/dist/esm/generated/resources/SiteSearchSource.d.ts +0 -132
  58. package/dist/esm/generated/resources/SiteSearchSource.js.map +0 -1
  59. package/dist/esm/generated/resources/SiteSearchSourceEvent.d.ts +0 -61
  60. package/dist/esm/generated/resources/SiteSearchSourceEvent.js.map +0 -1
  61. package/dist/types/generated/resources/SiteSearchSource.d.ts +0 -132
  62. package/dist/types/generated/resources/SiteSearchSourceEvent.d.ts +0 -61
  63. package/src/generated/resources/SiteSearchSource.ts +0 -267
@@ -117,15 +117,15 @@ export type EnvironmentIdentity = string;
117
117
  */
118
118
  export type BuildTriggerIdentity = string;
119
119
  /**
120
- * ID of site_search_source
120
+ * ID of search_index
121
121
  *
122
- * This interface was referenced by `SiteSearchSource`'s JSON-Schema
122
+ * This interface was referenced by `SearchIndex`'s JSON-Schema
123
123
  * via the `definition` "identity".
124
124
  *
125
- * This interface was referenced by `SiteSearchSource`'s JSON-Schema
125
+ * This interface was referenced by `SearchIndex`'s JSON-Schema
126
126
  * via the `definition` "id".
127
127
  */
128
- export type SiteSearchSourceIdentity = string;
128
+ export type SearchIndexIdentity = string;
129
129
  /**
130
130
  * This interface was referenced by `Role`'s JSON-Schema
131
131
  * via the `instances.targetSchema` link.
@@ -856,36 +856,35 @@ export type BuildEventInstancesHrefSchema = {
856
856
  [k: string]: unknown;
857
857
  };
858
858
  /**
859
- * ID of site search source event
859
+ * ID of search index event
860
860
  *
861
- * This interface was referenced by `SiteSearchSourceEvent`'s JSON-Schema
861
+ * This interface was referenced by `SearchIndexEvent`'s JSON-Schema
862
862
  * via the `definition` "identity".
863
863
  *
864
- * This interface was referenced by `SiteSearchSourceEvent`'s JSON-Schema
864
+ * This interface was referenced by `SearchIndexEvent`'s JSON-Schema
865
865
  * via the `definition` "id".
866
866
  */
867
- export type SiteSearchSourceEventIdentity = string;
867
+ export type SearchIndexEventIdentity = string;
868
868
  /**
869
- * This interface was referenced by `SiteSearchSourceEvent`'s JSON-Schema
869
+ * This interface was referenced by `SearchIndexEvent`'s JSON-Schema
870
870
  * via the `definition` "type".
871
871
  */
872
- export type SiteSearchSourceEventType = 'site_search_source_event';
872
+ export type SearchIndexEventType = 'search_index_event';
873
873
  /**
874
- * This interface was referenced by `SiteSearchSource`'s JSON-Schema
874
+ * This interface was referenced by `SearchIndex`'s JSON-Schema
875
875
  * via the `definition` "type".
876
876
  */
877
- export type SiteSearchSourceType = 'site_search_source';
877
+ export type SearchIndexType = 'search_index';
878
878
  /**
879
- * This interface was referenced by `SiteSearchSourceEvent`'s JSON-Schema
879
+ * This interface was referenced by `SearchIndexEvent`'s JSON-Schema
880
880
  * via the `instances.targetSchema` link.
881
881
  */
882
- export type SiteSearchSourceEventInstancesTargetSchema =
883
- SiteSearchSourceEvent[];
882
+ export type SearchIndexEventInstancesTargetSchema = SearchIndexEvent[];
884
883
  /**
885
- * This interface was referenced by `SiteSearchSourceEvent`'s JSON-Schema
884
+ * This interface was referenced by `SearchIndexEvent`'s JSON-Schema
886
885
  * via the `instances.hrefSchema` link.
887
886
  */
888
- export type SiteSearchSourceEventInstancesHrefSchema = {
887
+ export type SearchIndexEventInstancesHrefSchema = {
889
888
  /**
890
889
  * Parameters to control offset-based pagination
891
890
  */
@@ -908,7 +907,7 @@ export type SiteSearchSourceEventInstancesHrefSchema = {
908
907
  */
909
908
  ids?: string;
910
909
  fields?: {
911
- site_search_source_id?: {
910
+ search_index_id?: {
912
911
  eq?: string;
913
912
  };
914
913
  event_type?: {
@@ -931,8 +930,8 @@ export type SiteSearchSourceEventInstancesHrefSchema = {
931
930
  * Fields used to order results
932
931
  */
933
932
  order_by?:
934
- | 'site_search_source_id_asc'
935
- | 'site_search_source_id_desc'
933
+ | 'search_index_id_asc'
934
+ | 'search_index_id_desc'
936
935
  | 'created_at_asc'
937
936
  | 'created_at_desc'
938
937
  | 'event_type_asc'
@@ -963,19 +962,19 @@ export type ItemInstancesHrefSchema<
963
962
  */
964
963
  filter?: {
965
964
  /**
966
- * Record (or block record) IDs to fetch, comma separated. If you use this filter, you _must not_ use `filter[type]` or `filter[fields]`
965
+ * Record (or block record) IDs to fetch, comma separated. If you use this filter, you _must not_ use `filter[type]`. You can combine it with meta fields (like `_published_at`, `_status`), but _must not_ use model-specific fields
967
966
  */
968
967
  ids?: string;
969
968
  /**
970
- * Model ID or `api_key` to filter. If you use this filter, you _must not_ use `filter[ids]`. Comma separated values are accepted, but you _must not_ use `filter[fields]` in this case
969
+ * Model/Block model ID or `api_key` to filter. If you use this filter, you _must not_ use `filter[ids]`. When passing a single element, you can use both meta fields and model-specific fields (note: model-specific fields only work with models, not block models). When passing multiple comma-separated values, you can use meta fields but _must not_ use model-specific fields
971
970
  */
972
971
  type?: string;
973
972
  /**
974
- * Textual query to match. You _must not_ use `filter[ids]`. If `locale` is defined, search within that locale. Otherwise environment's main locale will be used.
973
+ * Textual query to match. Can be combined with other filters. When used, only records (not blocks) are returned. If `locale` is defined, search within that locale. Otherwise environment's main locale will be used.
975
974
  */
976
975
  query?: string;
977
976
  /**
978
- * Same as [GraphQL API records filters](/docs/content-delivery-api/filtering-records): you must use square brackets to indicate nesting levels. E.g. if you wanna [filter by parent record](/docs/content-delivery-api/filtering-records#parent) in a tree of records, you must use `filter[fields][parent][eq]=<ID_VALUE>`. Use snake_case for fields names. If `locale` is defined, search within that locale. Otherwise environment's main locale will be used.
977
+ * Filter by record fields. Meta fields (like `_published_at`, `_status`) can be used in most cases. Model-specific fields (like `title`, `name`) require `filter[type]` to specify a single model, and only work with models (not block models). Same syntax as [GraphQL API records filters](/docs/content-delivery-api/filtering-records): use square brackets to indicate nesting levels. E.g. `filter[fields][parent][eq]=<ID_VALUE>`. Use snake_case for field names. If `locale` is defined, search within that locale. Otherwise environment's main locale will be used.
979
978
  */
980
979
  fields?: ToItemHrefSchemaField<D>;
981
980
  /**
@@ -1044,7 +1043,7 @@ export type ItemSelfHrefSchema = {
1044
1043
  */
1045
1044
  nested?: boolean;
1046
1045
  /**
1047
- * Whether you want the currently published versions (`published`, default) of your records, or the latest available (`current`)
1046
+ * Whether you want the currently published versions (`published`) of your records, or the latest available (`current`, default)
1048
1047
  */
1049
1048
  version?: string;
1050
1049
  [k: string]: unknown;
@@ -1422,11 +1421,11 @@ export type SearchResultInstancesHrefSchema = {
1422
1421
  */
1423
1422
  query: string;
1424
1423
  /**
1425
- * The site search source ID or name on which the search will be performed. If not provided, the first enabled site search source will be used.
1424
+ * The search index ID on which the search will be performed. If not provided, the first enabled search index will be used.
1426
1425
  */
1427
- site_search_source_id?: string;
1426
+ search_index_id?: string;
1428
1427
  /**
1429
- * **[Deprecated]** Use `site_search_source_id` instead. The build trigger ID or name on which the search will be performed. This parameter is only supported for backward compatibility and will return an error if the build trigger has multiple site search sources associated.
1428
+ * The build trigger ID or name on which the search will be performed.
1430
1429
  */
1431
1430
  build_trigger_id?: string;
1432
1431
  /**
@@ -1643,10 +1642,10 @@ export type WebhookCallInstancesHrefSchema = {
1643
1642
  */
1644
1643
  export type BuildTriggerInstancesTargetSchema = BuildTrigger[];
1645
1644
  /**
1646
- * This interface was referenced by `SiteSearchSource`'s JSON-Schema
1645
+ * This interface was referenced by `SearchIndex`'s JSON-Schema
1647
1646
  * via the `instances.targetSchema` link.
1648
1647
  */
1649
- export type SiteSearchSourceInstancesTargetSchema = SiteSearchSource[];
1648
+ export type SearchIndexInstancesTargetSchema = SearchIndex[];
1650
1649
  /**
1651
1650
  * This interface was referenced by `ItemTypeFilter`'s JSON-Schema
1652
1651
  * via the `instances.targetSchema` link.
@@ -2059,7 +2058,7 @@ export type Role = {
2059
2058
  */
2060
2059
  can_edit_site: boolean;
2061
2060
  /**
2062
- * Can create/edit models and plugins
2061
+ * Can create and edit models and plugins
2063
2062
  */
2064
2063
  can_edit_schema: boolean;
2065
2064
  /**
@@ -2079,31 +2078,31 @@ export type Role = {
2079
2078
  */
2080
2079
  environments_access: 'all' | 'primary_only' | 'sandbox_only' | 'none';
2081
2080
  /**
2082
- * Can create/edit roles and invite/remove collaborators
2081
+ * Can create and edit roles and invite/remove collaborators
2083
2082
  */
2084
2083
  can_manage_users: boolean;
2085
2084
  /**
2086
- * Can create/edit shared filters (both for models and the media area)
2085
+ * Can create and edit shared filters (both for models and the media area)
2087
2086
  */
2088
2087
  can_manage_shared_filters: boolean;
2089
2088
  /**
2090
- * Can create/edit upload collections
2089
+ * Can create and edit upload collections
2091
2090
  */
2092
2091
  can_manage_upload_collections: boolean;
2093
2092
  /**
2094
- * Can create/edit Build triggers
2093
+ * Can create and edit build triggers
2095
2094
  */
2096
2095
  can_manage_build_triggers: boolean;
2097
2096
  /**
2098
- * Can create/edit Site Search Sources
2097
+ * Can create and edit search indexes
2099
2098
  */
2100
- can_manage_site_search_sources: boolean;
2099
+ can_manage_search_indexes: boolean;
2101
2100
  /**
2102
- * Can create/edit webhooks
2101
+ * Can create and edit webhooks
2103
2102
  */
2104
2103
  can_manage_webhooks: boolean;
2105
2104
  /**
2106
- * Can create/delete sandbox environments and promote them to primary environment
2105
+ * Can create and delete sandbox environments and promote them to primary environment
2107
2106
  */
2108
2107
  can_manage_environments: boolean;
2109
2108
  /**
@@ -2115,7 +2114,7 @@ export type Role = {
2115
2114
  */
2116
2115
  can_access_audit_log: boolean;
2117
2116
  /**
2118
- * Can create/edit workflows
2117
+ * Can create and edit workflows
2119
2118
  */
2120
2119
  can_manage_workflows: boolean;
2121
2120
  /**
@@ -2131,9 +2130,9 @@ export type Role = {
2131
2130
  */
2132
2131
  can_access_build_events_log: boolean;
2133
2132
  /**
2134
- * Can access the site search source events log
2133
+ * Can access the search index events log
2135
2134
  */
2136
- can_access_site_search_source_events_log: boolean;
2135
+ can_access_search_index_events_log: boolean;
2137
2136
  /**
2138
2137
  * Allowed actions on a model (or all) for a role
2139
2138
  */
@@ -2277,16 +2276,16 @@ export type Role = {
2277
2276
  build_trigger?: BuildTriggerIdentity | null;
2278
2277
  }[];
2279
2278
  /**
2280
- * Allowed site search sources for a role
2279
+ * Search indexes that can be triggered by a role
2281
2280
  */
2282
- positive_site_search_source_permissions: {
2283
- site_search_source?: SiteSearchSourceIdentity | null;
2281
+ positive_search_index_permissions: {
2282
+ search_index?: SearchIndexIdentity | null;
2284
2283
  }[];
2285
2284
  /**
2286
- * Prohibited site search sources for a role
2285
+ * Search indexes that can't be triggered by a role
2287
2286
  */
2288
- negative_site_search_source_permissions: {
2289
- site_search_source?: SiteSearchSourceIdentity | null;
2287
+ negative_search_index_permissions: {
2288
+ search_index?: SearchIndexIdentity | null;
2290
2289
  }[];
2291
2290
  inherits_permissions_from: RoleData[];
2292
2291
  meta: RoleMeta;
@@ -2326,7 +2325,7 @@ export type RoleMeta = {
2326
2325
  */
2327
2326
  can_edit_site: boolean;
2328
2327
  /**
2329
- * Can create/edit models and plugins
2328
+ * Can create and edit models and plugins
2330
2329
  */
2331
2330
  can_edit_schema: boolean;
2332
2331
  /**
@@ -2346,31 +2345,31 @@ export type RoleMeta = {
2346
2345
  */
2347
2346
  environments_access: 'all' | 'primary_only' | 'sandbox_only' | 'none';
2348
2347
  /**
2349
- * Can create/edit roles and invite/remove collaborators
2348
+ * Can create and edit roles and invite/remove collaborators
2350
2349
  */
2351
2350
  can_manage_users: boolean;
2352
2351
  /**
2353
- * Can create/edit shared filters (both for models and the media area)
2352
+ * Can create and edit shared filters (both for models and the media area)
2354
2353
  */
2355
2354
  can_manage_shared_filters: boolean;
2356
2355
  /**
2357
- * Can create/edit upload collections
2356
+ * Can create and edit upload collections
2358
2357
  */
2359
2358
  can_manage_upload_collections: boolean;
2360
2359
  /**
2361
- * Can create/edit Build triggers
2360
+ * Can create and edit build triggers
2362
2361
  */
2363
2362
  can_manage_build_triggers: boolean;
2364
2363
  /**
2365
- * Can create/edit Site Search Sources
2364
+ * Can create and edit search indexes
2366
2365
  */
2367
- can_manage_site_search_sources: boolean;
2366
+ can_manage_search_indexes: boolean;
2368
2367
  /**
2369
- * Can create/edit webhooks
2368
+ * Can create and edit webhooks
2370
2369
  */
2371
2370
  can_manage_webhooks: boolean;
2372
2371
  /**
2373
- * Can create/delete sandbox environments and promote them to primary environment
2372
+ * Can create and delete sandbox environments and promote them to primary environment
2374
2373
  */
2375
2374
  can_manage_environments: boolean;
2376
2375
  /**
@@ -2382,7 +2381,7 @@ export type RoleMeta = {
2382
2381
  */
2383
2382
  can_access_audit_log: boolean;
2384
2383
  /**
2385
- * Can create/edit workflows
2384
+ * Can create and edit workflows
2386
2385
  */
2387
2386
  can_manage_workflows: boolean;
2388
2387
  /**
@@ -2398,9 +2397,9 @@ export type RoleMeta = {
2398
2397
  */
2399
2398
  can_access_build_events_log: boolean;
2400
2399
  /**
2401
- * Can access the site search source events log
2400
+ * Can access the search index events log
2402
2401
  */
2403
- can_access_site_search_source_events_log: boolean;
2402
+ can_access_search_index_events_log: boolean;
2404
2403
  /**
2405
2404
  * Allowed actions on a model (or all) for a role
2406
2405
  */
@@ -2544,16 +2543,16 @@ export type RoleMeta = {
2544
2543
  build_trigger?: BuildTriggerIdentity | null;
2545
2544
  }[];
2546
2545
  /**
2547
- * Allowed site search sources for a role
2546
+ * Search indexes that can be triggered by a role
2548
2547
  */
2549
- positive_site_search_source_permissions: {
2550
- site_search_source?: SiteSearchSourceIdentity | null;
2548
+ positive_search_index_permissions: {
2549
+ search_index?: SearchIndexIdentity | null;
2551
2550
  }[];
2552
2551
  /**
2553
- * Prohibited site search sources for a role
2552
+ * Search indexes that can't be triggered by a role
2554
2553
  */
2555
- negative_site_search_source_permissions: {
2556
- site_search_source?: SiteSearchSourceIdentity | null;
2554
+ negative_search_index_permissions: {
2555
+ search_index?: SearchIndexIdentity | null;
2557
2556
  }[];
2558
2557
  };
2559
2558
  };
@@ -2577,7 +2576,7 @@ export type RoleAttributes = {
2577
2576
  */
2578
2577
  can_edit_site: boolean;
2579
2578
  /**
2580
- * Can create/edit models and plugins
2579
+ * Can create and edit models and plugins
2581
2580
  */
2582
2581
  can_edit_schema: boolean;
2583
2582
  /**
@@ -2597,31 +2596,31 @@ export type RoleAttributes = {
2597
2596
  */
2598
2597
  environments_access: 'all' | 'primary_only' | 'sandbox_only' | 'none';
2599
2598
  /**
2600
- * Can create/edit roles and invite/remove collaborators
2599
+ * Can create and edit roles and invite/remove collaborators
2601
2600
  */
2602
2601
  can_manage_users: boolean;
2603
2602
  /**
2604
- * Can create/edit shared filters (both for models and the media area)
2603
+ * Can create and edit shared filters (both for models and the media area)
2605
2604
  */
2606
2605
  can_manage_shared_filters: boolean;
2607
2606
  /**
2608
- * Can create/edit upload collections
2607
+ * Can create and edit upload collections
2609
2608
  */
2610
2609
  can_manage_upload_collections: boolean;
2611
2610
  /**
2612
- * Can create/edit Build triggers
2611
+ * Can create and edit build triggers
2613
2612
  */
2614
2613
  can_manage_build_triggers: boolean;
2615
2614
  /**
2616
- * Can create/edit Site Search Sources
2615
+ * Can create and edit search indexes
2617
2616
  */
2618
- can_manage_site_search_sources: boolean;
2617
+ can_manage_search_indexes: boolean;
2619
2618
  /**
2620
- * Can create/edit webhooks
2619
+ * Can create and edit webhooks
2621
2620
  */
2622
2621
  can_manage_webhooks: boolean;
2623
2622
  /**
2624
- * Can create/delete sandbox environments and promote them to primary environment
2623
+ * Can create and delete sandbox environments and promote them to primary environment
2625
2624
  */
2626
2625
  can_manage_environments: boolean;
2627
2626
  /**
@@ -2633,7 +2632,7 @@ export type RoleAttributes = {
2633
2632
  */
2634
2633
  can_access_audit_log: boolean;
2635
2634
  /**
2636
- * Can create/edit workflows
2635
+ * Can create and edit workflows
2637
2636
  */
2638
2637
  can_manage_workflows: boolean;
2639
2638
  /**
@@ -2649,9 +2648,9 @@ export type RoleAttributes = {
2649
2648
  */
2650
2649
  can_access_build_events_log: boolean;
2651
2650
  /**
2652
- * Can access the site search source events log
2651
+ * Can access the search index events log
2653
2652
  */
2654
- can_access_site_search_source_events_log: boolean;
2653
+ can_access_search_index_events_log: boolean;
2655
2654
  /**
2656
2655
  * Allowed actions on a model (or all) for a role
2657
2656
  */
@@ -2795,16 +2794,16 @@ export type RoleAttributes = {
2795
2794
  build_trigger?: BuildTriggerIdentity | null;
2796
2795
  }[];
2797
2796
  /**
2798
- * Allowed site search sources for a role
2797
+ * Search indexes that can be triggered by a role
2799
2798
  */
2800
- positive_site_search_source_permissions: {
2801
- site_search_source?: SiteSearchSourceIdentity | null;
2799
+ positive_search_index_permissions: {
2800
+ search_index?: SearchIndexIdentity | null;
2802
2801
  }[];
2803
2802
  /**
2804
- * Prohibited site search sources for a role
2803
+ * Search indexes that can't be triggered by a role
2805
2804
  */
2806
- negative_site_search_source_permissions: {
2807
- site_search_source?: SiteSearchSourceIdentity | null;
2805
+ negative_search_index_permissions: {
2806
+ search_index?: SearchIndexIdentity | null;
2808
2807
  }[];
2809
2808
  };
2810
2809
  /**
@@ -2835,7 +2834,7 @@ export type RoleCreateSchema = {
2835
2834
  */
2836
2835
  can_edit_site?: boolean;
2837
2836
  /**
2838
- * Can create/edit models and plugins
2837
+ * Can create and edit models and plugins
2839
2838
  */
2840
2839
  can_edit_schema?: boolean;
2841
2840
  /**
@@ -2855,31 +2854,31 @@ export type RoleCreateSchema = {
2855
2854
  */
2856
2855
  environments_access?: 'all' | 'primary_only' | 'sandbox_only' | 'none';
2857
2856
  /**
2858
- * Can create/edit roles and invite/remove collaborators
2857
+ * Can create and edit roles and invite/remove collaborators
2859
2858
  */
2860
2859
  can_manage_users?: boolean;
2861
2860
  /**
2862
- * Can create/edit shared filters (both for models and the media area)
2861
+ * Can create and edit shared filters (both for models and the media area)
2863
2862
  */
2864
2863
  can_manage_shared_filters?: boolean;
2865
2864
  /**
2866
- * Can create/edit Site Search Sources
2865
+ * Can create and edit search indexes
2867
2866
  */
2868
- can_manage_site_search_sources?: boolean;
2867
+ can_manage_search_indexes?: boolean;
2869
2868
  /**
2870
- * Can create/edit upload collections
2869
+ * Can create and edit upload collections
2871
2870
  */
2872
2871
  can_manage_upload_collections?: boolean;
2873
2872
  /**
2874
- * Can create/edit Build triggers
2873
+ * Can create and edit build triggers
2875
2874
  */
2876
2875
  can_manage_build_triggers?: boolean;
2877
2876
  /**
2878
- * Can create/edit webhooks
2877
+ * Can create and edit webhooks
2879
2878
  */
2880
2879
  can_manage_webhooks?: boolean;
2881
2880
  /**
2882
- * Can create/delete sandbox environments and promote them to primary environment
2881
+ * Can create and delete sandbox environments and promote them to primary environment
2883
2882
  */
2884
2883
  can_manage_environments?: boolean;
2885
2884
  /**
@@ -2891,7 +2890,7 @@ export type RoleCreateSchema = {
2891
2890
  */
2892
2891
  can_access_audit_log?: boolean;
2893
2892
  /**
2894
- * Can create/edit workflows
2893
+ * Can create and edit workflows
2895
2894
  */
2896
2895
  can_manage_workflows?: boolean;
2897
2896
  /**
@@ -2907,9 +2906,9 @@ export type RoleCreateSchema = {
2907
2906
  */
2908
2907
  can_access_build_events_log?: boolean;
2909
2908
  /**
2910
- * Can access the site search source events log
2909
+ * Can access the search index events log
2911
2910
  */
2912
- can_access_site_search_source_events_log?: boolean;
2911
+ can_access_search_index_events_log?: boolean;
2913
2912
  /**
2914
2913
  * Allowed actions on a model (or all) for a role
2915
2914
  */
@@ -3053,16 +3052,16 @@ export type RoleCreateSchema = {
3053
3052
  build_trigger?: BuildTriggerIdentity | null;
3054
3053
  }[];
3055
3054
  /**
3056
- * Allowed site search sources for a role
3055
+ * Search indexes that can be triggered by a role
3057
3056
  */
3058
- positive_site_search_source_permissions?: {
3059
- site_search_source?: SiteSearchSourceIdentity | null;
3057
+ positive_search_index_permissions?: {
3058
+ search_index?: SearchIndexIdentity | null;
3060
3059
  }[];
3061
3060
  /**
3062
- * Prohibited site search sources for a role
3061
+ * Search indexes that can't be triggered by a role
3063
3062
  */
3064
- negative_site_search_source_permissions?: {
3065
- site_search_source?: SiteSearchSourceIdentity | null;
3063
+ negative_search_index_permissions?: {
3064
+ search_index?: SearchIndexIdentity | null;
3066
3065
  }[];
3067
3066
  inherits_permissions_from?: RoleData[];
3068
3067
  meta?: RoleMeta;
@@ -3087,7 +3086,7 @@ export type RoleUpdateSchema = {
3087
3086
  */
3088
3087
  can_edit_site?: boolean;
3089
3088
  /**
3090
- * Can create/edit models and plugins
3089
+ * Can create and edit models and plugins
3091
3090
  */
3092
3091
  can_edit_schema?: boolean;
3093
3092
  /**
@@ -3107,31 +3106,31 @@ export type RoleUpdateSchema = {
3107
3106
  */
3108
3107
  environments_access?: 'all' | 'primary_only' | 'sandbox_only' | 'none';
3109
3108
  /**
3110
- * Can create/edit roles and invite/remove collaborators
3109
+ * Can create and edit roles and invite/remove collaborators
3111
3110
  */
3112
3111
  can_manage_users?: boolean;
3113
3112
  /**
3114
- * Can create/edit shared filters (both for models and the media area)
3113
+ * Can create and edit shared filters (both for models and the media area)
3115
3114
  */
3116
3115
  can_manage_shared_filters?: boolean;
3117
3116
  /**
3118
- * Can create/edit Site Search Sources
3117
+ * Can create and edit search indexes
3119
3118
  */
3120
- can_manage_site_search_sources?: boolean;
3119
+ can_manage_search_indexes?: boolean;
3121
3120
  /**
3122
- * Can create/edit upload collections
3121
+ * Can create and edit upload collections
3123
3122
  */
3124
3123
  can_manage_upload_collections?: boolean;
3125
3124
  /**
3126
- * Can create/edit Build triggers
3125
+ * Can create and edit build triggers
3127
3126
  */
3128
3127
  can_manage_build_triggers?: boolean;
3129
3128
  /**
3130
- * Can create/edit webhooks
3129
+ * Can create and edit webhooks
3131
3130
  */
3132
3131
  can_manage_webhooks?: boolean;
3133
3132
  /**
3134
- * Can create/delete sandbox environments and promote them to primary environment
3133
+ * Can create and delete sandbox environments and promote them to primary environment
3135
3134
  */
3136
3135
  can_manage_environments?: boolean;
3137
3136
  /**
@@ -3143,7 +3142,7 @@ export type RoleUpdateSchema = {
3143
3142
  */
3144
3143
  can_access_audit_log?: boolean;
3145
3144
  /**
3146
- * Can create/edit workflows
3145
+ * Can create and edit workflows
3147
3146
  */
3148
3147
  can_manage_workflows?: boolean;
3149
3148
  /**
@@ -3159,9 +3158,9 @@ export type RoleUpdateSchema = {
3159
3158
  */
3160
3159
  can_access_build_events_log?: boolean;
3161
3160
  /**
3162
- * Can access the site search source events log
3161
+ * Can access the search index events log
3163
3162
  */
3164
- can_access_site_search_source_events_log?: boolean;
3163
+ can_access_search_index_events_log?: boolean;
3165
3164
  /**
3166
3165
  * Allowed actions on a model (or all) for a role
3167
3166
  */
@@ -3305,16 +3304,16 @@ export type RoleUpdateSchema = {
3305
3304
  build_trigger?: BuildTriggerIdentity | null;
3306
3305
  }[];
3307
3306
  /**
3308
- * Allowed site search sources for a role
3307
+ * Search indexes that can be triggered by a role
3309
3308
  */
3310
- positive_site_search_source_permissions?: {
3311
- site_search_source?: SiteSearchSourceIdentity | null;
3309
+ positive_search_index_permissions?: {
3310
+ search_index?: SearchIndexIdentity | null;
3312
3311
  }[];
3313
3312
  /**
3314
- * Prohibited site search sources for a role
3313
+ * Search indexes that can't be triggered by a role
3315
3314
  */
3316
- negative_site_search_source_permissions?: {
3317
- site_search_source?: SiteSearchSourceIdentity | null;
3315
+ negative_search_index_permissions?: {
3316
+ search_index?: SearchIndexIdentity | null;
3318
3317
  }[];
3319
3318
  inherits_permissions_from?: RoleData[];
3320
3319
  meta?: RoleMeta;
@@ -4017,9 +4016,9 @@ export type SitePlan = {
4017
4016
  */
4018
4017
  build_triggers: null | number;
4019
4018
  /**
4020
- * Number of site search sources
4019
+ * Number of search indexes
4021
4020
  */
4022
- site_search_sources: null | number;
4021
+ search_indexes: null | number;
4023
4022
  /**
4024
4023
  * Number of plugins
4025
4024
  */
@@ -4184,7 +4183,7 @@ export type SitePlan = {
4184
4183
  amount_per_packet: number;
4185
4184
  price: number;
4186
4185
  };
4187
- site_search_sources?: {
4186
+ search_indexes?: {
4188
4187
  amount_per_packet: number;
4189
4188
  price: number;
4190
4189
  };
@@ -4261,9 +4260,9 @@ export type SitePlanAttributes = {
4261
4260
  */
4262
4261
  build_triggers: null | number;
4263
4262
  /**
4264
- * Number of site search sources
4263
+ * Number of search indexes
4265
4264
  */
4266
- site_search_sources: null | number;
4265
+ search_indexes: null | number;
4267
4266
  /**
4268
4267
  * Number of plugins
4269
4268
  */
@@ -4428,7 +4427,7 @@ export type SitePlanAttributes = {
4428
4427
  amount_per_packet: number;
4429
4428
  price: number;
4430
4429
  };
4431
- site_search_sources?: {
4430
+ search_indexes?: {
4432
4431
  amount_per_packet: number;
4433
4432
  price: number;
4434
4433
  };
@@ -4944,7 +4943,26 @@ export type UploadCollectionUpdateSchema = {
4944
4943
  children?: UploadCollectionData[];
4945
4944
  };
4946
4945
  /**
4947
- * The way you define the kind of content you can edit inside your administrative area passes through the concept of Models, which are much like database tables. For backward-compatibility reasons, the API refers to models as "item types".
4946
+ * The way you define the kind of content you can edit inside a DatoCMS project passes through the concept of **models** and **block models**. For backward-compatibility reasons, the API refers to both as "item types".
4947
+ *
4948
+ * ## Models
4949
+ *
4950
+ * Models are much like database tables — they define the structure of your main content types (e.g., blog posts, products, landing pages). Each model is composed of fields with custom validations. Records created from models exist independently and can be referenced by other records through link fields.
4951
+ *
4952
+ * ## Block Models
4953
+ *
4954
+ * Block models define complex and repeatable structures that can be embedded inside records. They are the foundation behind features like [Modular Content](/docs/content-modelling/modular-content.md) and [Structured Text](/docs/content-modelling/structured-text.md).
4955
+ *
4956
+ * ### Key differences:
4957
+ *
4958
+ * - **Models** create standalone records that can be referenced and have independent value
4959
+ * - **Block models** create blocks that only exist within parent records and cannot be referenced via link fields
4960
+ * - Block models defined in the library can be reused across different models
4961
+ * - When a record gets deleted, all the blocks it contains are deleted with it
4962
+ * - Blocks do not count towards your plan's records limit
4963
+ *
4964
+ * You can distinguish between models and block models using the `modular_block` attribute: `true` indicates a block model, `false` indicates a regular model.
4965
+ *
4948
4966
  *
4949
4967
  * This interface was referenced by `DatoApi`'s JSON-Schema
4950
4968
  * via the `definition` "item_type".
@@ -4953,11 +4971,11 @@ export type ItemType = {
4953
4971
  id: ItemTypeIdentity;
4954
4972
  type: ItemTypeType;
4955
4973
  /**
4956
- * Name of the model
4974
+ * Name of the model/block model
4957
4975
  */
4958
4976
  name: string;
4959
4977
  /**
4960
- * API key of the model
4978
+ * API key of the model/block model
4961
4979
  */
4962
4980
  api_key: string;
4963
4981
  /**
@@ -4965,11 +4983,11 @@ export type ItemType = {
4965
4983
  */
4966
4984
  collection_appeareance?: 'compact' | 'table';
4967
4985
  /**
4968
- * The way the model collection should be presented to the editors
4986
+ * The way the model/block model collection should be presented to the editors
4969
4987
  */
4970
4988
  collection_appearance: 'compact' | 'table';
4971
4989
  /**
4972
- * Whether the model is single-instance or not
4990
+ * Whether the model is single-instance or not. This property only applies to models, not block models
4973
4991
  */
4974
4992
  singleton: boolean;
4975
4993
  /**
@@ -4977,31 +4995,31 @@ export type ItemType = {
4977
4995
  */
4978
4996
  all_locales_required: boolean;
4979
4997
  /**
4980
- * Whether editors can sort records via drag & drop or not
4998
+ * Whether editors can sort records via drag & drop or not. Must be false for block models
4981
4999
  */
4982
5000
  sortable: boolean;
4983
5001
  /**
4984
- * Whether this model is a modular content block or not
5002
+ * Whether this is a block model or not. Block models define structures that can be embedded inside records, while regular models create standalone records
4985
5003
  */
4986
5004
  modular_block: boolean;
4987
5005
  /**
4988
- * Whether draft/published mode is active or not
5006
+ * Whether draft/published mode is active or not. Must be false for block models
4989
5007
  */
4990
5008
  draft_mode_active: boolean;
4991
5009
  /**
4992
- * Whether draft records can be saved without satisfying the validations or not
5010
+ * Whether draft records can be saved without satisfying the validations or not. Must be false for block models
4993
5011
  */
4994
5012
  draft_saving_active: boolean;
4995
5013
  /**
4996
- * Whether editors can organize records in a tree or not
5014
+ * Whether editors can organize records in a tree or not. Must be false for block models
4997
5015
  */
4998
5016
  tree: boolean;
4999
5017
  /**
5000
- * If an ordering field is set, this fields specify the sorting direction
5018
+ * If an ordering field is set, this field specifies the sorting direction. This property does not apply to block models
5001
5019
  */
5002
5020
  ordering_direction: null | 'asc' | 'desc';
5003
5021
  /**
5004
- * Specifies the model's sorting method. Cannot be set in concurrency with ordering_field
5022
+ * Specifies the model's sorting method. Cannot be set in concurrency with ordering_field. This property does not apply to block models
5005
5023
  */
5006
5024
  ordering_meta:
5007
5025
  | null
@@ -5010,15 +5028,15 @@ export type ItemType = {
5010
5028
  | 'first_published_at'
5011
5029
  | 'published_at';
5012
5030
  /**
5013
- * If this model is single-instance, this tells the single-instance record has already been created or not
5031
+ * If this model is single-instance, this tells whether the single-instance record has already been created or not. This property only applies to models, not block models
5014
5032
  */
5015
5033
  has_singleton_item: boolean;
5016
5034
  /**
5017
- * A hint shown to editors to help them understand the purpose of this model/block
5035
+ * A hint shown to editors to help them understand the purpose of this model/block model
5018
5036
  */
5019
5037
  hint: string | null;
5020
5038
  /**
5021
- * Whether inverse relationships fields are expressed in GraphQL or not
5039
+ * Whether inverse relationships fields are expressed in GraphQL or not. Must be false for block models
5022
5040
  */
5023
5041
  inverse_relationships_enabled: boolean;
5024
5042
  singleton_item: ItemData | null;
@@ -5079,14 +5097,14 @@ export type WorkflowData = {
5079
5097
  id: WorkflowIdentity;
5080
5098
  };
5081
5099
  /**
5082
- * Meta information regarding the item type
5100
+ * Meta information regarding the model/block model
5083
5101
  *
5084
5102
  * This interface was referenced by `ItemType`'s JSON-Schema
5085
5103
  * via the `definition` "meta".
5086
5104
  */
5087
5105
  export type ItemTypeMeta = {
5088
5106
  /**
5089
- * If this model is single-instance, this tells the single-instance record has already been created or not
5107
+ * If this model is single-instance, this tells whether the single-instance record has already been created or not. This property only applies to models, not block models
5090
5108
  */
5091
5109
  has_singleton_item: boolean;
5092
5110
  };
@@ -5098,11 +5116,11 @@ export type ItemTypeMeta = {
5098
5116
  */
5099
5117
  export type ItemTypeAttributes = {
5100
5118
  /**
5101
- * Name of the model
5119
+ * Name of the model/block model
5102
5120
  */
5103
5121
  name: string;
5104
5122
  /**
5105
- * API key of the model
5123
+ * API key of the model/block model
5106
5124
  */
5107
5125
  api_key: string;
5108
5126
  /**
@@ -5110,11 +5128,11 @@ export type ItemTypeAttributes = {
5110
5128
  */
5111
5129
  collection_appeareance?: 'compact' | 'table';
5112
5130
  /**
5113
- * The way the model collection should be presented to the editors
5131
+ * The way the model/block model collection should be presented to the editors
5114
5132
  */
5115
5133
  collection_appearance: 'compact' | 'table';
5116
5134
  /**
5117
- * Whether the model is single-instance or not
5135
+ * Whether the model is single-instance or not. This property only applies to models, not block models
5118
5136
  */
5119
5137
  singleton: boolean;
5120
5138
  /**
@@ -5122,31 +5140,31 @@ export type ItemTypeAttributes = {
5122
5140
  */
5123
5141
  all_locales_required: boolean;
5124
5142
  /**
5125
- * Whether editors can sort records via drag & drop or not
5143
+ * Whether editors can sort records via drag & drop or not. Must be false for block models
5126
5144
  */
5127
5145
  sortable: boolean;
5128
5146
  /**
5129
- * Whether this model is a modular content block or not
5147
+ * Whether this is a block model or not. Block models define structures that can be embedded inside records, while regular models create standalone records
5130
5148
  */
5131
5149
  modular_block: boolean;
5132
5150
  /**
5133
- * Whether draft/published mode is active or not
5151
+ * Whether draft/published mode is active or not. Must be false for block models
5134
5152
  */
5135
5153
  draft_mode_active: boolean;
5136
5154
  /**
5137
- * Whether draft records can be saved without satisfying the validations or not
5155
+ * Whether draft records can be saved without satisfying the validations or not. Must be false for block models
5138
5156
  */
5139
5157
  draft_saving_active: boolean;
5140
5158
  /**
5141
- * Whether editors can organize records in a tree or not
5159
+ * Whether editors can organize records in a tree or not. Must be false for block models
5142
5160
  */
5143
5161
  tree: boolean;
5144
5162
  /**
5145
- * If an ordering field is set, this fields specify the sorting direction
5163
+ * If an ordering field is set, this field specifies the sorting direction. This property does not apply to block models
5146
5164
  */
5147
5165
  ordering_direction: null | 'asc' | 'desc';
5148
5166
  /**
5149
- * Specifies the model's sorting method. Cannot be set in concurrency with ordering_field
5167
+ * Specifies the model's sorting method. Cannot be set in concurrency with ordering_field. This property does not apply to block models
5150
5168
  */
5151
5169
  ordering_meta:
5152
5170
  | null
@@ -5155,15 +5173,15 @@ export type ItemTypeAttributes = {
5155
5173
  | 'first_published_at'
5156
5174
  | 'published_at';
5157
5175
  /**
5158
- * If this model is single-instance, this tells the single-instance record has already been created or not
5176
+ * If this model is single-instance, this tells whether the single-instance record has already been created or not. This property only applies to models, not block models
5159
5177
  */
5160
5178
  has_singleton_item: boolean;
5161
5179
  /**
5162
- * A hint shown to editors to help them understand the purpose of this model/block
5180
+ * A hint shown to editors to help them understand the purpose of this model/block model
5163
5181
  */
5164
5182
  hint: string | null;
5165
5183
  /**
5166
- * Whether inverse relationships fields are expressed in GraphQL or not
5184
+ * Whether inverse relationships fields are expressed in GraphQL or not. Must be false for block models
5167
5185
  */
5168
5186
  inverse_relationships_enabled: boolean;
5169
5187
  };
@@ -5193,15 +5211,15 @@ export type ItemTypeCreateSchema = {
5193
5211
  id?: ItemTypeIdentity;
5194
5212
  type?: ItemTypeType;
5195
5213
  /**
5196
- * Name of the model
5214
+ * Name of the model/block model
5197
5215
  */
5198
5216
  name: string;
5199
5217
  /**
5200
- * API key of the model
5218
+ * API key of the model/block model
5201
5219
  */
5202
5220
  api_key: string;
5203
5221
  /**
5204
- * Whether the model is single-instance or not
5222
+ * Whether the model is single-instance or not. This property only applies to models, not block models
5205
5223
  */
5206
5224
  singleton?: boolean;
5207
5225
  /**
@@ -5209,31 +5227,31 @@ export type ItemTypeCreateSchema = {
5209
5227
  */
5210
5228
  all_locales_required?: boolean;
5211
5229
  /**
5212
- * Whether editors can sort records via drag & drop or not
5230
+ * Whether editors can sort records via drag & drop or not. Must be false for block models
5213
5231
  */
5214
5232
  sortable?: boolean;
5215
5233
  /**
5216
- * Whether this model is a modular content block or not
5234
+ * Whether this is a block model or not. Block models define structures that can be embedded inside records, while regular models create standalone records
5217
5235
  */
5218
5236
  modular_block?: boolean;
5219
5237
  /**
5220
- * Whether draft/published mode is active or not
5238
+ * Whether draft/published mode is active or not. Must be false for block models
5221
5239
  */
5222
5240
  draft_mode_active?: boolean;
5223
5241
  /**
5224
- * Whether draft records can be saved without satisfying the validations or not
5242
+ * Whether draft records can be saved without satisfying the validations or not. Must be false for block models
5225
5243
  */
5226
5244
  draft_saving_active?: boolean;
5227
5245
  /**
5228
- * Whether editors can organize records in a tree or not
5246
+ * Whether editors can organize records in a tree or not. Must be false for block models
5229
5247
  */
5230
5248
  tree?: boolean;
5231
5249
  /**
5232
- * If an ordering field is set, this fields specify the sorting direction
5250
+ * If an ordering field is set, this field specifies the sorting direction. This property does not apply to block models
5233
5251
  */
5234
5252
  ordering_direction?: null | 'asc' | 'desc';
5235
5253
  /**
5236
- * Specifies the model's sorting method. Cannot be set in concurrency with ordering_field
5254
+ * Specifies the model's sorting method. Cannot be set in concurrency with ordering_field. This property does not apply to block models
5237
5255
  */
5238
5256
  ordering_meta?:
5239
5257
  | null
@@ -5246,15 +5264,15 @@ export type ItemTypeCreateSchema = {
5246
5264
  */
5247
5265
  collection_appeareance?: 'compact' | 'table';
5248
5266
  /**
5249
- * The way the model collection should be presented to the editors
5267
+ * The way the model/block model collection should be presented to the editors
5250
5268
  */
5251
5269
  collection_appearance?: 'compact' | 'table';
5252
5270
  /**
5253
- * A hint shown to editors to help them understand the purpose of this model/block
5271
+ * A hint shown to editors to help them understand the purpose of this model/block model
5254
5272
  */
5255
5273
  hint?: string | null;
5256
5274
  /**
5257
- * Whether inverse relationships fields are expressed in GraphQL or not
5275
+ * Whether inverse relationships fields are expressed in GraphQL or not. Must be false for block models
5258
5276
  */
5259
5277
  inverse_relationships_enabled?: boolean;
5260
5278
  ordering_field?: FieldData | null;
@@ -5273,11 +5291,11 @@ export type ItemTypeUpdateSchema = {
5273
5291
  id?: ItemTypeIdentity;
5274
5292
  type?: ItemTypeType;
5275
5293
  /**
5276
- * Name of the model
5294
+ * Name of the model/block model
5277
5295
  */
5278
5296
  name?: string;
5279
5297
  /**
5280
- * API key of the model
5298
+ * API key of the model/block model
5281
5299
  */
5282
5300
  api_key?: string;
5283
5301
  /**
@@ -5285,11 +5303,11 @@ export type ItemTypeUpdateSchema = {
5285
5303
  */
5286
5304
  collection_appeareance?: 'compact' | 'table';
5287
5305
  /**
5288
- * The way the model collection should be presented to the editors
5306
+ * The way the model/block model collection should be presented to the editors
5289
5307
  */
5290
5308
  collection_appearance?: 'compact' | 'table';
5291
5309
  /**
5292
- * Whether the model is single-instance or not
5310
+ * Whether the model is single-instance or not. This property only applies to models, not block models
5293
5311
  */
5294
5312
  singleton?: boolean;
5295
5313
  /**
@@ -5297,31 +5315,31 @@ export type ItemTypeUpdateSchema = {
5297
5315
  */
5298
5316
  all_locales_required?: boolean;
5299
5317
  /**
5300
- * Whether editors can sort records via drag & drop or not
5318
+ * Whether editors can sort records via drag & drop or not. Must be false for block models
5301
5319
  */
5302
5320
  sortable?: boolean;
5303
5321
  /**
5304
- * Whether this model is a modular content block or not
5322
+ * Whether this is a block model or not. Block models define structures that can be embedded inside records, while regular models create standalone records
5305
5323
  */
5306
5324
  modular_block?: boolean;
5307
5325
  /**
5308
- * Whether draft/published mode is active or not
5326
+ * Whether draft/published mode is active or not. Must be false for block models
5309
5327
  */
5310
5328
  draft_mode_active?: boolean;
5311
5329
  /**
5312
- * Whether draft records can be saved without satisfying the validations or not
5330
+ * Whether draft records can be saved without satisfying the validations or not. Must be false for block models
5313
5331
  */
5314
5332
  draft_saving_active?: boolean;
5315
5333
  /**
5316
- * Whether editors can organize records in a tree or not
5334
+ * Whether editors can organize records in a tree or not. Must be false for block models
5317
5335
  */
5318
5336
  tree?: boolean;
5319
5337
  /**
5320
- * If an ordering field is set, this fields specify the sorting direction
5338
+ * If an ordering field is set, this field specifies the sorting direction. This property does not apply to block models
5321
5339
  */
5322
5340
  ordering_direction?: null | 'asc' | 'desc';
5323
5341
  /**
5324
- * Specifies the model's sorting method. Cannot be set in concurrency with ordering_field
5342
+ * Specifies the model's sorting method. Cannot be set in concurrency with ordering_field. This property does not apply to block models
5325
5343
  */
5326
5344
  ordering_meta?:
5327
5345
  | null
@@ -5330,15 +5348,15 @@ export type ItemTypeUpdateSchema = {
5330
5348
  | 'first_published_at'
5331
5349
  | 'published_at';
5332
5350
  /**
5333
- * If this model is single-instance, this tells the single-instance record has already been created or not
5351
+ * If this model is single-instance, this tells whether the single-instance record has already been created or not. This property only applies to models, not block models
5334
5352
  */
5335
5353
  has_singleton_item?: boolean;
5336
5354
  /**
5337
- * A hint shown to editors to help them understand the purpose of this model/block
5355
+ * A hint shown to editors to help them understand the purpose of this model/block model
5338
5356
  */
5339
5357
  hint?: string | null;
5340
5358
  /**
5341
- * Whether inverse relationships fields are expressed in GraphQL or not
5359
+ * Whether inverse relationships fields are expressed in GraphQL or not. Must be false for block models
5342
5360
  */
5343
5361
  inverse_relationships_enabled?: boolean;
5344
5362
  ordering_field?: FieldData | null;
@@ -5350,7 +5368,7 @@ export type ItemTypeUpdateSchema = {
5350
5368
  workflow?: WorkflowData | null;
5351
5369
  meta?: {
5352
5370
  /**
5353
- * If this model is single-instance, this tells the single-instance record has already been created or not
5371
+ * If this model is single-instance, this tells whether the single-instance record has already been created or not. This property only applies to models, not block models
5354
5372
  */
5355
5373
  has_singleton_item?: boolean;
5356
5374
  };
@@ -7419,7 +7437,7 @@ export type SubscriptionFeatureAttributes = {
7419
7437
  enabled: boolean;
7420
7438
  };
7421
7439
  /**
7422
- * Represents an event occurred during the deploy process of your administrative area.
7440
+ * Represents an event occurred during the deploy process of a build trigger.
7423
7441
  *
7424
7442
  * This interface was referenced by `DatoApi`'s JSON-Schema
7425
7443
  * via the `definition` "build_event".
@@ -7508,14 +7526,14 @@ export type BuildEventRelationships = {
7508
7526
  build_trigger: BuildTriggerData;
7509
7527
  };
7510
7528
  /**
7511
- * Represents an event occurred during the site search indexing process.
7529
+ * Represents an event occurred during the indexing process via search indexes.
7512
7530
  *
7513
7531
  * This interface was referenced by `DatoApi`'s JSON-Schema
7514
- * via the `definition` "site_search_source_event".
7532
+ * via the `definition` "search_index_event".
7515
7533
  */
7516
- export type SiteSearchSourceEvent = {
7517
- id: SiteSearchSourceEventIdentity;
7518
- type: SiteSearchSourceEventType;
7534
+ export type SearchIndexEvent = {
7535
+ id: SearchIndexEventIdentity;
7536
+ type: SearchIndexEventType;
7519
7537
  /**
7520
7538
  * The type of activity
7521
7539
  */
@@ -7534,36 +7552,36 @@ export type SiteSearchSourceEvent = {
7534
7552
  data: {
7535
7553
  [k: string]: unknown;
7536
7554
  };
7537
- site_search_source: SiteSearchSourceData;
7555
+ search_index: SearchIndexData;
7538
7556
  };
7539
- export type SiteSearchSourceEventSelfTargetSchema = SiteSearchSourceEvent;
7557
+ export type SearchIndexEventSelfTargetSchema = SearchIndexEvent;
7540
7558
  /**
7541
7559
  * JSON API data
7542
7560
  *
7543
- * This interface was referenced by `SiteSearchSource`'s JSON-Schema
7561
+ * This interface was referenced by `SearchIndex`'s JSON-Schema
7544
7562
  * via the `definition` "data".
7545
7563
  */
7546
- export type SiteSearchSourceData = {
7547
- type: SiteSearchSourceType;
7548
- id: SiteSearchSourceIdentity;
7564
+ export type SearchIndexData = {
7565
+ type: SearchIndexType;
7566
+ id: SearchIndexIdentity;
7549
7567
  };
7550
7568
  /**
7551
7569
  * JSON API data
7552
7570
  *
7553
- * This interface was referenced by `SiteSearchSourceEvent`'s JSON-Schema
7571
+ * This interface was referenced by `SearchIndexEvent`'s JSON-Schema
7554
7572
  * via the `definition` "data".
7555
7573
  */
7556
- export type SiteSearchSourceEventData = {
7557
- type: SiteSearchSourceEventType;
7558
- id: SiteSearchSourceEventIdentity;
7574
+ export type SearchIndexEventData = {
7575
+ type: SearchIndexEventType;
7576
+ id: SearchIndexEventIdentity;
7559
7577
  };
7560
7578
  /**
7561
7579
  * JSON API attributes
7562
7580
  *
7563
- * This interface was referenced by `SiteSearchSourceEvent`'s JSON-Schema
7581
+ * This interface was referenced by `SearchIndexEvent`'s JSON-Schema
7564
7582
  * via the `definition` "attributes".
7565
7583
  */
7566
- export type SiteSearchSourceEventAttributes = {
7584
+ export type SearchIndexEventAttributes = {
7567
7585
  /**
7568
7586
  * The type of activity
7569
7587
  */
@@ -7586,11 +7604,11 @@ export type SiteSearchSourceEventAttributes = {
7586
7604
  /**
7587
7605
  * JSON API links
7588
7606
  *
7589
- * This interface was referenced by `SiteSearchSourceEvent`'s JSON-Schema
7607
+ * This interface was referenced by `SearchIndexEvent`'s JSON-Schema
7590
7608
  * via the `definition` "relationships".
7591
7609
  */
7592
- export type SiteSearchSourceEventRelationships = {
7593
- site_search_source: SiteSearchSourceData;
7610
+ export type SearchIndexEventRelationships = {
7611
+ search_index: SearchIndexData;
7594
7612
  };
7595
7613
  export type ItemCreateTargetSchema<
7596
7614
  D extends ItemTypeDefinition = ItemTypeDefinition,
@@ -9735,6 +9753,10 @@ export type BuildTrigger = {
9735
9753
  * Name of the build trigger
9736
9754
  */
9737
9755
  name: string;
9756
+ /**
9757
+ * Whether the build trigger is enabled or not
9758
+ */
9759
+ enabled: boolean;
9738
9760
  /**
9739
9761
  * The type of build trigger
9740
9762
  */
@@ -9766,7 +9788,7 @@ export type BuildTrigger = {
9766
9788
  */
9767
9789
  indexing_status: string;
9768
9790
  /**
9769
- * The public URL of the frontend. If Site Search is enabled (indicated by `indexing_enabled`), this is the starting point from which the website's spidering will start
9791
+ * The public URL of the frontend.
9770
9792
  */
9771
9793
  frontend_url: string | null;
9772
9794
  /**
@@ -9777,10 +9799,6 @@ export type BuildTrigger = {
9777
9799
  * Wether Site Search is enabled or not. With Site Search, everytime the website is built, DatoCMS will respider it to get updated content
9778
9800
  */
9779
9801
  indexing_enabled: boolean;
9780
- /**
9781
- * Whether the build trigger is enabled or not
9782
- */
9783
- enabled: boolean;
9784
9802
  };
9785
9803
  export type BuildTriggerSelfTargetSchema = BuildTrigger;
9786
9804
  export type BuildTriggerCreateTargetSchema = BuildTrigger;
@@ -9797,6 +9815,10 @@ export type BuildTriggerAttributes = {
9797
9815
  * Name of the build trigger
9798
9816
  */
9799
9817
  name: string;
9818
+ /**
9819
+ * Whether the build trigger is enabled or not
9820
+ */
9821
+ enabled: boolean;
9800
9822
  /**
9801
9823
  * The type of build trigger
9802
9824
  */
@@ -9828,7 +9850,7 @@ export type BuildTriggerAttributes = {
9828
9850
  */
9829
9851
  indexing_status: string;
9830
9852
  /**
9831
- * The public URL of the frontend. If Site Search is enabled (indicated by `indexing_enabled`), this is the starting point from which the website's spidering will start
9853
+ * The public URL of the frontend.
9832
9854
  */
9833
9855
  frontend_url: string | null;
9834
9856
  /**
@@ -9839,10 +9861,6 @@ export type BuildTriggerAttributes = {
9839
9861
  * Wether Site Search is enabled or not. With Site Search, everytime the website is built, DatoCMS will respider it to get updated content
9840
9862
  */
9841
9863
  indexing_enabled: boolean;
9842
- /**
9843
- * Whether the build trigger is enabled or not
9844
- */
9845
- enabled: boolean;
9846
9864
  };
9847
9865
  /**
9848
9866
  * This interface was referenced by `BuildTrigger`'s JSON-Schema
@@ -9865,13 +9883,13 @@ export type BuildTriggerCreateSchema = {
9865
9883
  /**
9866
9884
  * Wether Site Search is enabled or not. With Site Search, everytime the website is built, DatoCMS will respider it to get updated content
9867
9885
  */
9868
- indexing_enabled: boolean;
9886
+ indexing_enabled?: boolean;
9869
9887
  /**
9870
9888
  * Whether the build trigger is enabled or not
9871
9889
  */
9872
9890
  enabled?: boolean;
9873
9891
  /**
9874
- * The public URL of the frontend. If Site Search is enabled (indicated by `indexing_enabled`), this is the starting point from which the website's spidering will start
9892
+ * The public URL of the frontend.
9875
9893
  */
9876
9894
  frontend_url: string | null;
9877
9895
  /**
@@ -9909,7 +9927,7 @@ export type BuildTriggerUpdateSchema = {
9909
9927
  */
9910
9928
  enabled?: boolean;
9911
9929
  /**
9912
- * The public URL of the frontend. If Site Search is enabled (indicated by `indexing_enabled`), this is the starting point from which the website's spidering will start
9930
+ * The public URL of the frontend.
9913
9931
  */
9914
9932
  frontend_url?: string | null;
9915
9933
  /**
@@ -9924,28 +9942,24 @@ export type BuildTriggerUpdateSchema = {
9924
9942
  };
9925
9943
  };
9926
9944
  /**
9927
- * A Site Search Source represents a website that should be indexed by DatoCMS Site Search. When enabled, DatoCMS will periodically spider the website to update the search index.
9945
+ * A Search Index is used to index a website to provide DatoCMS Site Search functionality.
9928
9946
  *
9929
9947
  * This interface was referenced by `DatoApi`'s JSON-Schema
9930
- * via the `definition` "site_search_source".
9948
+ * via the `definition` "search_index".
9931
9949
  */
9932
- export type SiteSearchSource = {
9933
- id: SiteSearchSourceIdentity;
9934
- type: SiteSearchSourceType;
9950
+ export type SearchIndex = {
9951
+ id: SearchIndexIdentity;
9952
+ type: SearchIndexType;
9935
9953
  /**
9936
- * Name of the site search source
9954
+ * Name of the search index
9937
9955
  */
9938
9956
  name: string;
9939
9957
  /**
9940
- * Whether the site search source is enabled or not
9958
+ * Whether the search index is enabled or not
9941
9959
  */
9942
9960
  enabled: boolean;
9943
9961
  /**
9944
- * Whether the spidering should automatically run after associated build triggers complete
9945
- */
9946
- build_trigger_indexing_enabled: boolean;
9947
- /**
9948
- * The public URL of the frontend. This is the starting point from which the website's spidering will start
9962
+ * The public URL of the website. This is the starting point from which the website's spidering will start
9949
9963
  */
9950
9964
  frontend_url: string | null;
9951
9965
  /**
@@ -9953,21 +9967,21 @@ export type SiteSearchSource = {
9953
9967
  */
9954
9968
  user_agent_suffix: string | null;
9955
9969
  build_triggers: BuildTriggerData[];
9956
- meta: SiteSearchSourceMeta;
9970
+ meta: SearchIndexMeta;
9957
9971
  };
9958
- export type SiteSearchSourceSelfTargetSchema = SiteSearchSource;
9959
- export type SiteSearchSourceCreateTargetSchema = SiteSearchSource;
9960
- export type SiteSearchSourceUpdateTargetSchema = SiteSearchSource;
9961
- export type SiteSearchSourceDestroyTargetSchema = SiteSearchSource;
9972
+ export type SearchIndexSelfTargetSchema = SearchIndex;
9973
+ export type SearchIndexCreateTargetSchema = SearchIndex;
9974
+ export type SearchIndexUpdateTargetSchema = SearchIndex;
9975
+ export type SearchIndexDestroyTargetSchema = SearchIndex;
9962
9976
  /**
9963
- * Meta information about the site search source
9977
+ * Meta information about the search index
9964
9978
  *
9965
- * This interface was referenced by `SiteSearchSource`'s JSON-Schema
9979
+ * This interface was referenced by `SearchIndex`'s JSON-Schema
9966
9980
  * via the `definition` "meta".
9967
9981
  */
9968
- export type SiteSearchSourceMeta = {
9982
+ export type SearchIndexMeta = {
9969
9983
  /**
9970
- * Status of the site search indexing
9984
+ * Status of the search indexing
9971
9985
  */
9972
9986
  indexing_status: 'unstarted' | 'pending' | 'success' | 'failed';
9973
9987
  /**
@@ -9978,24 +9992,20 @@ export type SiteSearchSourceMeta = {
9978
9992
  /**
9979
9993
  * JSON API attributes
9980
9994
  *
9981
- * This interface was referenced by `SiteSearchSource`'s JSON-Schema
9995
+ * This interface was referenced by `SearchIndex`'s JSON-Schema
9982
9996
  * via the `definition` "attributes".
9983
9997
  */
9984
- export type SiteSearchSourceAttributes = {
9998
+ export type SearchIndexAttributes = {
9985
9999
  /**
9986
- * Name of the site search source
10000
+ * Name of the search index
9987
10001
  */
9988
10002
  name: string;
9989
10003
  /**
9990
- * Whether the site search source is enabled or not
10004
+ * Whether the search index is enabled or not
9991
10005
  */
9992
10006
  enabled: boolean;
9993
10007
  /**
9994
- * Whether the spidering should automatically run after associated build triggers complete
9995
- */
9996
- build_trigger_indexing_enabled: boolean;
9997
- /**
9998
- * The public URL of the frontend. This is the starting point from which the website's spidering will start
10008
+ * The public URL of the website. This is the starting point from which the website's spidering will start
9999
10009
  */
10000
10010
  frontend_url: string | null;
10001
10011
  /**
@@ -10006,32 +10016,28 @@ export type SiteSearchSourceAttributes = {
10006
10016
  /**
10007
10017
  * JSON API links
10008
10018
  *
10009
- * This interface was referenced by `SiteSearchSource`'s JSON-Schema
10019
+ * This interface was referenced by `SearchIndex`'s JSON-Schema
10010
10020
  * via the `definition` "relationships".
10011
10021
  */
10012
- export type SiteSearchSourceRelationships = {
10022
+ export type SearchIndexRelationships = {
10013
10023
  build_triggers: BuildTriggerData[];
10014
10024
  };
10015
10025
  /**
10016
- * This interface was referenced by `SiteSearchSource`'s JSON-Schema
10026
+ * This interface was referenced by `SearchIndex`'s JSON-Schema
10017
10027
  * via the `create.schema` link.
10018
10028
  */
10019
- export type SiteSearchSourceCreateSchema = {
10020
- type?: SiteSearchSourceType;
10029
+ export type SearchIndexCreateSchema = {
10030
+ type?: SearchIndexType;
10021
10031
  /**
10022
- * Name of the site search source
10032
+ * Name of the search index
10023
10033
  */
10024
10034
  name: string;
10025
10035
  /**
10026
- * Whether the site search source is enabled or not
10036
+ * Whether the search index is enabled or not
10027
10037
  */
10028
10038
  enabled: boolean;
10029
10039
  /**
10030
- * Whether the spidering should automatically run after associated build triggers complete
10031
- */
10032
- build_trigger_indexing_enabled?: boolean;
10033
- /**
10034
- * The public URL of the frontend. This is the starting point from which the website's spidering will start
10040
+ * The public URL of the website. This is the starting point from which the website's spidering will start
10035
10041
  */
10036
10042
  frontend_url: string | null;
10037
10043
  /**
@@ -10041,26 +10047,22 @@ export type SiteSearchSourceCreateSchema = {
10041
10047
  build_triggers?: BuildTriggerData[];
10042
10048
  };
10043
10049
  /**
10044
- * This interface was referenced by `SiteSearchSource`'s JSON-Schema
10050
+ * This interface was referenced by `SearchIndex`'s JSON-Schema
10045
10051
  * via the `update.schema` link.
10046
10052
  */
10047
- export type SiteSearchSourceUpdateSchema = {
10048
- id?: SiteSearchSourceIdentity;
10049
- type?: SiteSearchSourceType;
10053
+ export type SearchIndexUpdateSchema = {
10054
+ id?: SearchIndexIdentity;
10055
+ type?: SearchIndexType;
10050
10056
  /**
10051
- * Name of the site search source
10057
+ * Name of the search index
10052
10058
  */
10053
10059
  name?: string;
10054
10060
  /**
10055
- * Whether the site search source is enabled or not
10061
+ * Whether the search index is enabled or not
10056
10062
  */
10057
10063
  enabled?: boolean;
10058
10064
  /**
10059
- * Whether the spidering should automatically run after associated build triggers complete
10060
- */
10061
- build_trigger_indexing_enabled?: boolean;
10062
- /**
10063
- * The public URL of the frontend. This is the starting point from which the website's spidering will start
10065
+ * The public URL of the website. This is the starting point from which the website's spidering will start
10064
10066
  */
10065
10067
  frontend_url?: string | null;
10066
10068
  /**