quickbase-js 2.2.1 → 2.3.0

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.
@@ -32,6 +32,16 @@ export interface SortField {
32
32
  /** Sort direction: 'ASC' (ascending), 'DESC' (descending), or 'equal-values'. */
33
33
  order: 'ASC' | 'DESC' | 'equal-values';
34
34
  }
35
+ /**
36
+ * Sort configuration for queries.
37
+ * Can be an array of sort fields, or false to disable sorting for better performance.
38
+ */
39
+ export type SortByUnion = SortField[] | false;
40
+ /**
41
+ * The user ID of the owner.
42
+ * May be returned as integer or string depending on context.
43
+ */
44
+ export type OwnerId = string | number;
35
45
  /** Create an app */
36
46
  export interface CreateAppRequest {
37
47
  /** Set to true if you would like to assign the app to the user token you used to create the application. The default is false. */
@@ -72,9 +82,9 @@ export interface CreateAppResponse {
72
82
  created?: string;
73
83
  /** The time and date the app was last updated, in the ISO 8601 time format YYYY-MM-DDThh:mm:ss.sssZ (in UTC time zone). */
74
84
  updated?: string;
75
- /** A description of the format used when displaying date values in this app. Note that this is a browser-only parameter - see the [Field type details](../fieldInfo) page in the API Guide for how time values are returned in API calls. See [About Localizing Dates](https://help.quickbase.com/user-assistance/about_localizing_dates_numbers.html) to set the app’s date format. */
85
+ /** A description of the format used when displaying date values in this app. Note that this is a browser-only parameter - see the [Field type details](../fieldInfo) page in the API Guide for how time values are returned in API calls. See [About Localizing Dates](https://help.quickbase.com/docs/how-to-localize-dates) to set the app's date format. */
76
86
  dateFormat?: string;
77
- /** A description of the time zone used when displaying time values in this app. Note that this is a browser-only parameter - see the [Field type details](../fieldInfo) page in the portal for how time values are returned in API calls. See [Set the Time Zone for Both the Application and the Account](https://help.quickbase.com/user-assistance/application_local_timezone.html) to set the application’s time zone. */
87
+ /** A description of the time zone used when displaying time values in this app. Note that this is a browser-only parameter - see the [Field type details](../fieldInfo) page in the portal for how time values are returned in API calls. See [Set the Time Zone for Both the Application and the Account](https://help.quickbase.com/docs/set-the-time-zone-for-both-the-application-and-the-account) to set the application's time zone. */
78
88
  timeZone?: string;
79
89
  /** Application memory info */
80
90
  memoryInfo?: {
@@ -85,7 +95,7 @@ export interface CreateAppResponse {
85
95
  };
86
96
  /** The unique identifier for this application. */
87
97
  id?: string;
88
- /** Indicates whether app includes Everyone On The Internet access. See [Sharing apps with Everyone on the Internet (EOTI).](https://help.quickbase.com/user-assistance/share_with_everyone_on_internet.html) */
98
+ /** Indicates whether app includes Everyone On The Internet access. See [Sharing apps with Everyone on the Internet (EOTI).](https://help.quickbase.com/docs/sharing-apps-publicly) */
89
99
  hasEveryoneOnTheInternet?: boolean;
90
100
  /** The app variables. See [About Application Variables](https://help.quickbase.com/user-assistance/variables.html) */
91
101
  variables?: {
@@ -131,9 +141,9 @@ export interface GetAppResponse {
131
141
  created?: string;
132
142
  /** The time and date the app was last updated, in the ISO 8601 time format YYYY-MM-DDThh:mm:ss.sssZ (in UTC time zone). */
133
143
  updated?: string;
134
- /** A description of the format used when displaying date values in this app. Note that this is a browser-only parameter - see the [Field type details](../fieldInfo) page in the API Guide for how time values are returned in API calls. See [About Localizing Dates](https://help.quickbase.com/user-assistance/about_localizing_dates_numbers.html) to set the app’s date format. */
144
+ /** A description of the format used when displaying date values in this app. Note that this is a browser-only parameter - see the [Field type details](../fieldInfo) page in the API Guide for how time values are returned in API calls. See [About Localizing Dates](https://help.quickbase.com/user-assistance/about_localizing_dates_numbers.html) to set the app's date format. */
135
145
  dateFormat?: string;
136
- /** A description of the time zone used when displaying time values in this app. Note that this is a browser-only parameter - see the [Field type details](../fieldInfo) page in the portal for how time values are returned in API calls. See [Set the Time Zone for Both the Application and the Account](https://help.quickbase.com/user-assistance/application_local_timezone.html) to set the application’s time zone. */
146
+ /** A description of the time zone used when displaying time values in this app. Note that this is a browser-only parameter - see the [Field type details](../fieldInfo) page in the portal for how time values are returned in API calls. See [Set the Time Zone for Both the Application and the Account](https://help.quickbase.com/user-assistance/application_local_timezone.html) to set the application's time zone. */
137
147
  timeZone?: string;
138
148
  /** Application memory info */
139
149
  memoryInfo?: {
@@ -146,7 +156,7 @@ export interface GetAppResponse {
146
156
  id?: string;
147
157
  /** Indicates whether app includes Everyone On The Internet access. See [Sharing apps with Everyone on the Internet (EOTI).](https://help.quickbase.com/user-assistance/share_with_everyone_on_internet.html) */
148
158
  hasEveryoneOnTheInternet?: boolean;
149
- /** The app variables. See [About Application Variables](https://help.quickbase.com/user-assistance/variables.html) */
159
+ /** The app variables. See [About Application Variables](https://help.quickbase.com/docs/creating-and-using-application-variables) */
150
160
  variables?: {
151
161
  /** Variable name. */
152
162
  name?: string;
@@ -218,9 +228,9 @@ export interface UpdateAppResponse {
218
228
  created?: string;
219
229
  /** The time and date the app was last updated, in the ISO 8601 time format YYYY-MM-DDThh:mm:ss.sssZ (in UTC time zone). */
220
230
  updated?: string;
221
- /** A description of the format used when displaying date values in this app. Note that this is a browser-only parameter - see the [Field type details](../fieldInfo) page in the API Guide for how time values are returned in API calls. See [About Localizing Dates](https://help.quickbase.com/user-assistance/about_localizing_dates_numbers.html) to set the app’s date format. */
231
+ /** A description of the format used when displaying date values in this app. Note that this is a browser-only parameter - see the [Field type details](../fieldInfo) page in the API Guide for how time values are returned in API calls. See [About Localizing Dates](https://help.quickbase.com/user-assistance/about_localizing_dates_numbers.html) to set the app's date format. */
222
232
  dateFormat?: string;
223
- /** A description of the time zone used when displaying time values in this app. Note that this is a browser-only parameter - see the [Field type details](../fieldInfo) page in the portal for how time values are returned in API calls. See [Set the Time Zone for Both the Application and the Account](https://help.quickbase.com/user-assistance/application_local_timezone.html) to set the application’s time zone. */
233
+ /** A description of the time zone used when displaying time values in this app. Note that this is a browser-only parameter - see the [Field type details](../fieldInfo) page in the portal for how time values are returned in API calls. See [Set the Time Zone for Both the Application and the Account](https://help.quickbase.com/user-assistance/application_local_timezone.html) to set the application's time zone. */
224
234
  timeZone?: string;
225
235
  /** Application memory info */
226
236
  memoryInfo?: {
@@ -336,9 +346,9 @@ export interface CopyAppResponse {
336
346
  created?: string;
337
347
  /** The time and date the app was last updated, in the ISO 8601 time format YYYY-MM-DDThh:mm:ss.sssZ (in UTC time zone). */
338
348
  updated?: string;
339
- /** A description of the format used when displaying date values in this app. Note that this is a browser-only parameter - see the [Field type details](../fieldInfo) page in the API Guide for how time values are returned in API calls. See [About Localizing Dates](https://help.quickbase.com/user-assistance/about_localizing_dates_numbers.html) to set the app’s date format. */
349
+ /** A description of the format used when displaying date values in this app. Note that this is a browser-only parameter - see the [Field type details](../fieldInfo) page in the API Guide for how time values are returned in API calls. See [About Localizing Dates](https://help.quickbase.com/user-assistance/about_localizing_dates_numbers.html) to set the app's date format. */
340
350
  dateFormat?: string;
341
- /** A description of the time zone used when displaying time values in this app. Note that this is a browser-only parameter - see the [Field type details](../fieldInfo) page in the portal for how time values are returned in API calls. See [Set the Time Zone for Both the Application and the Account](https://help.quickbase.com/user-assistance/application_local_timezone.html) to set the application’s time zone. */
351
+ /** A description of the time zone used when displaying time values in this app. Note that this is a browser-only parameter - see the [Field type details](../fieldInfo) page in the portal for how time values are returned in API calls. See [Set the Time Zone for Both the Application and the Account](https://help.quickbase.com/user-assistance/application_local_timezone.html) to set the application's time zone. */
342
352
  timeZone?: string;
343
353
  /** The unique identifier for this application. */
344
354
  id?: string;
@@ -358,6 +368,26 @@ export interface CopyAppResponse {
358
368
  dataClassification?: string;
359
369
  [key: string]: unknown;
360
370
  }
371
+ /** Get app roles */
372
+ export interface GetRolesParams {
373
+ /** The unique identifier of an app */
374
+ appId: string;
375
+ }
376
+ export type GetRolesResponse = ({
377
+ /** The role id. */
378
+ id?: number;
379
+ /** The role name. */
380
+ name?: string;
381
+ /** The role access properties. */
382
+ access?: {
383
+ /** The ID of the access type the role is given. (0 = None, 1 = Administrator, 2 = Basic Access with Share, 3 = Basic Access, 4 = Partial Administrator). */
384
+ id?: number;
385
+ /** The type of access the role is given. */
386
+ type?: 'None' | 'Administrator' | 'Basic Access with Share' | 'Basic Access' | 'Partial Administrator';
387
+ [key: string]: unknown;
388
+ };
389
+ [key: string]: unknown;
390
+ })[];
361
391
  /** Get tables for an app */
362
392
  export interface GetAppTablesParams {
363
393
  /** The unique identifier of an app */
@@ -636,11 +666,11 @@ export interface CreateRelationshipRequest {
636
666
  where?: string;
637
667
  [key: string]: unknown;
638
668
  })[];
639
- /** Array of field ids in the parent table that will become lookup fields in the child table. */
669
+ /** Array of field IDs in the parent table that will become lookup fields in the child table. */
640
670
  lookupFieldIds?: number[];
641
671
  /** The parent table id for the relationship. */
642
672
  parentTableId: string;
643
- /** This property is optional. If it is not provided, the foreign key field will be created with the label ‘Related <record>’, where <record> is the name of a record in the parent table. */
673
+ /** This property is optional. If it is not provided, the foreign key field will be created with the label ‘Related <record>', where <record> is the name of a record in the parent table. */
644
674
  foreignKeyField?: {
645
675
  /** The label for the foreign key field. */
646
676
  label?: string;
@@ -708,7 +738,7 @@ export interface UpdateRelationshipRequest {
708
738
  where?: string;
709
739
  [key: string]: unknown;
710
740
  })[];
711
- /** An array of field ids on the parent table that will become lookup fields on the child table. */
741
+ /** An array of field IDs on the parent table that will become lookup fields on the child table. */
712
742
  lookupFieldIds?: number[];
713
743
  }
714
744
  export interface UpdateRelationshipResponse {
@@ -778,8 +808,7 @@ export type GetTableReportsResponse = ({
778
808
  type?: string;
779
809
  /** The configured description of a report. */
780
810
  description?: string;
781
- /** Optional, showed only for personal reports. The user ID of report owner. */
782
- ownerId?: number;
811
+ ownerId?: OwnerId;
783
812
  /** The query definition as configured in Quickbase that gets executed when the report is run. */
784
813
  query?: {
785
814
  /** The table identifier for the report. */
@@ -826,8 +855,7 @@ export interface GetReportResponse {
826
855
  type?: string;
827
856
  /** The configured description of a report. */
828
857
  description?: string;
829
- /** Optional, showed only for personal reports. The user ID of report owner. */
830
- ownerId?: number;
858
+ ownerId?: OwnerId;
831
859
  /** The query definition as configured in Quickbase that gets executed when the report is run. */
832
860
  query?: {
833
861
  /** The table identifier for the report. */
@@ -963,7 +991,7 @@ export type GetFieldsResponse = ({
963
991
  parentFieldId?: number;
964
992
  /** Indicates whether to display the timezone within the product. */
965
993
  displayTimezone?: boolean;
966
- /** The id of the field that is used to aggregate values from the child, when applicable. This displays 0 if the summary function doesn’t require a field selection (like count). */
994
+ /** The id of the field that is used to aggregate values from the child, when applicable. This displays 0 if the summary function doesn't require a field selection (like count). */
967
995
  summaryTargetFieldId?: number;
968
996
  /** Indicates if users can add new choices to a selection list. */
969
997
  allowNewChoices?: boolean;
@@ -1073,6 +1101,8 @@ export type GetFieldsResponse = ({
1073
1101
  workWeek?: number;
1074
1102
  /** Indicates if the URL should open a new window when a user clicks it within the product. */
1075
1103
  useNewWindow?: boolean;
1104
+ /** POSTs a temporary token to the first URL when clicked by a user. [Learn more](https://help.quickbase.com/docs/post-temporary-token-from-a-quickbase-field) */
1105
+ postTempToken?: boolean;
1076
1106
  /** Whether this field is append only. */
1077
1107
  appendOnly?: boolean;
1078
1108
  /** Indicates if a field that is part of the relationship should be shown as a hyperlink to the parent record within the product. */
@@ -1100,7 +1130,7 @@ export interface CreateFieldParams {
1100
1130
  tableId: string;
1101
1131
  }
1102
1132
  export interface CreateFieldRequest {
1103
- /** Indicates if the field is being tracked as part of Quickbase Audit Logs. You can only set this property to "true" if the app has audit logs enabled. See Enable data change logs under [Quickbase Audit Logs](https://help.quickbase.com/user-assistance/audit_logs.html). Defaults to false. */
1133
+ /** Indicates if the field is being tracked as part of Quickbase Audit Logs. You can only set this property to "true" if the app has audit logs enabled. See Enable data change logs under [Quickbase Audit Logs](https://help.quickbase.com/docs/audit-logs). Defaults to false. */
1104
1134
  audited?: boolean;
1105
1135
  /** The configured help text shown to users within the product. */
1106
1136
  fieldHelp?: string;
@@ -1220,6 +1250,8 @@ export interface CreateFieldRequest {
1220
1250
  hasExtension?: boolean;
1221
1251
  /** Indicates if the file should open a new window when a user clicks it within the product. */
1222
1252
  useNewWindow?: boolean;
1253
+ /** POSTs a temporary token to the first URL when clicked by a user. [Learn more](https://help.quickbase.com/docs/post-temporary-token-from-a-quickbase-field) */
1254
+ postTempToken?: boolean;
1223
1255
  /** Whether this field is append only. */
1224
1256
  appendOnly?: boolean;
1225
1257
  /** Indicates if a field that is part of the relationship should be shown as a hyperlink to the parent record within the product. */
@@ -1227,7 +1259,7 @@ export interface CreateFieldRequest {
1227
1259
  };
1228
1260
  /** Indicates if the field is marked as a default in reports. Defaults to true. */
1229
1261
  appearsByDefault?: boolean;
1230
- /** The [field types](https://help.quickbase.com/user-assistance/field_types.html), click on any of the field type links for more info. */
1262
+ /** The [field types](https://help.quickbase.com/docs/field-types), click on any of the field type links for more info. */
1231
1263
  fieldType: 'text' | 'text-multiple-choice' | 'text-multi-line' | 'rich-text' | 'numeric' | 'currency' | 'rating' | 'percent' | 'multitext' | 'email' | 'url' | 'duration' | 'date' | 'datetime' | 'timestamp' | 'timeofday' | 'checkbox' | 'user' | 'multiuser' | 'address' | 'phone' | 'file';
1232
1264
  /** Field Permissions for different roles. */
1233
1265
  permissions?: {
@@ -1302,7 +1334,7 @@ export interface CreateFieldResponse {
1302
1334
  parentFieldId?: number;
1303
1335
  /** Indicates whether to display the timezone within the product. */
1304
1336
  displayTimezone?: boolean;
1305
- /** The id of the field that is used to aggregate values from the child, when applicable. This displays 0 if the summary function doesn’t require a field selection (like count). */
1337
+ /** The id of the field that is used to aggregate values from the child, when applicable. This displays 0 if the summary function doesn't require a field selection (like count). */
1306
1338
  summaryTargetFieldId?: number;
1307
1339
  /** Indicates if users can add new choices to a selection list. */
1308
1340
  allowNewChoices?: boolean;
@@ -1412,6 +1444,8 @@ export interface CreateFieldResponse {
1412
1444
  workWeek?: number;
1413
1445
  /** Indicates if the URL should open a new window when a user clicks it within the product. */
1414
1446
  useNewWindow?: boolean;
1447
+ /** POSTs a temporary token to the first URL when clicked by a user. [Learn more](https://help.quickbase.com/docs/post-temporary-token-from-a-quickbase-field) */
1448
+ postTempToken?: boolean;
1415
1449
  /** Whether this field is append only. */
1416
1450
  appendOnly?: boolean;
1417
1451
  /** Indicates if a field that is part of the relationship should be shown as a hyperlink to the parent record within the product. */
@@ -1439,12 +1473,12 @@ export interface DeleteFieldsParams {
1439
1473
  tableId: string;
1440
1474
  }
1441
1475
  export interface DeleteFieldsRequest {
1442
- /** List of field ids to be deleted. */
1476
+ /** List of field IDs to be deleted. */
1443
1477
  fieldIds: number[];
1444
1478
  [key: string]: unknown;
1445
1479
  }
1446
1480
  export interface DeleteFieldsResponse {
1447
- /** List of field ids to were deleted. */
1481
+ /** List of field IDs to were deleted. */
1448
1482
  deletedFieldIds: number[];
1449
1483
  /** List of errors found. */
1450
1484
  errors: string[];
@@ -1514,7 +1548,7 @@ export interface GetFieldResponse {
1514
1548
  parentFieldId?: number;
1515
1549
  /** Indicates whether to display the timezone within the product. */
1516
1550
  displayTimezone?: boolean;
1517
- /** The id of the field that is used to aggregate values from the child, when applicable. This displays 0 if the summary function doesn’t require a field selection (like count). */
1551
+ /** The id of the field that is used to aggregate values from the child, when applicable. This displays 0 if the summary function doesn't require a field selection (like count). */
1518
1552
  summaryTargetFieldId?: number;
1519
1553
  /** Indicates if users can add new choices to a selection list. */
1520
1554
  allowNewChoices?: boolean;
@@ -1624,6 +1658,8 @@ export interface GetFieldResponse {
1624
1658
  workWeek?: number;
1625
1659
  /** Indicates if the URL should open a new window when a user clicks it within the product. */
1626
1660
  useNewWindow?: boolean;
1661
+ /** POSTs a temporary token to the first URL when clicked by a user. [Learn more](https://help.quickbase.com/docs/post-temporary-token-from-a-quickbase-field) */
1662
+ postTempToken?: boolean;
1627
1663
  /** Whether this field is append only. */
1628
1664
  appendOnly?: boolean;
1629
1665
  /** Indicates if a field that is part of the relationship should be shown as a hyperlink to the parent record within the product. */
@@ -1689,7 +1725,7 @@ export interface UpdateFieldRequest {
1689
1725
  parentFieldId?: number;
1690
1726
  /** Indicates whether to display the timezone within the product. */
1691
1727
  displayTimezone?: boolean;
1692
- /** The id of the field that is used to aggregate values from the child, when applicable. This displays 0 if the summary function doesn’t require a field selection (like count). */
1728
+ /** The id of the field that is used to aggregate values from the child, when applicable. This displays 0 if the summary function doesn't require a field selection (like count). */
1693
1729
  summaryTargetFieldId?: number;
1694
1730
  /** Indicates if users can add new choices to a selection list. */
1695
1731
  allowNewChoices?: boolean;
@@ -1787,6 +1823,8 @@ export interface UpdateFieldRequest {
1787
1823
  hasExtension?: boolean;
1788
1824
  /** Indicates if the file should open a new window when a user clicks it within the product. */
1789
1825
  useNewWindow?: boolean;
1826
+ /** POSTs a temporary token to the first URL when clicked by a user. [Learn more](https://help.quickbase.com/docs/post-temporary-token-from-a-quickbase-field) */
1827
+ postTempToken?: boolean;
1790
1828
  /** Whether this field is append only. */
1791
1829
  appendOnly?: boolean;
1792
1830
  /** Indicates if a field that is part of the relationship should be shown as a hyperlink to the parent record within the product. */
@@ -1871,7 +1909,7 @@ export interface UpdateFieldResponse {
1871
1909
  parentFieldId?: number;
1872
1910
  /** Indicates whether to display the timezone within the product. */
1873
1911
  displayTimezone?: boolean;
1874
- /** The id of the field that is used to aggregate values from the child, when applicable. This displays 0 if the summary function doesn’t require a field selection (like count). */
1912
+ /** The id of the field that is used to aggregate values from the child, when applicable. This displays 0 if the summary function doesn't require a field selection (like count). */
1875
1913
  summaryTargetFieldId?: number;
1876
1914
  /** Indicates if users can add new choices to a selection list. */
1877
1915
  allowNewChoices?: boolean;
@@ -1981,6 +2019,8 @@ export interface UpdateFieldResponse {
1981
2019
  workWeek?: number;
1982
2020
  /** Indicates if the URL should open a new window when a user clicks it within the product. */
1983
2021
  useNewWindow?: boolean;
2022
+ /** POSTs a temporary token to the first URL when clicked by a user. [Learn more](https://help.quickbase.com/docs/post-temporary-token-from-a-quickbase-field) */
2023
+ postTempToken?: boolean;
1984
2024
  /** Whether this field is append only. */
1985
2025
  appendOnly?: boolean;
1986
2026
  /** Indicates if a field that is part of the relationship should be shown as a hyperlink to the parent record within the product. */
@@ -2272,7 +2312,7 @@ export interface UpsertRequest {
2272
2312
  data?: QuickbaseRecord[];
2273
2313
  /** The merge field id. */
2274
2314
  mergeFieldId?: number;
2275
- /** Specify an array of field ids that will return data for any updates or added record. Record ID (FID 3) is always returned if any field ID is requested. */
2315
+ /** Specify an array of field IDs that will return data for any updates or added record. Record ID (FID 3) is always returned if any field ID is requested. */
2276
2316
  fieldsToReturn?: number[];
2277
2317
  [key: string]: unknown;
2278
2318
  }
@@ -2299,8 +2339,8 @@ export interface UpsertResponse {
2299
2339
  export interface DeleteRecordsRequest {
2300
2340
  /** The unique identifier of the table. */
2301
2341
  from: string;
2302
- /** The filter to delete records. To delete all records specify a filter that will include all records, for example {3.GT.0} where 3 is the ID of the Record ID field. */
2303
- where: string;
2342
+ /** The filter to delete records. To delete all records specify a filter that will include all records, for example {3.GT.0} where 3 is the ID of the Record ID field. Or supply a JSON array of Record IDs. */
2343
+ where: string | number[];
2304
2344
  [key: string]: unknown;
2305
2345
  }
2306
2346
  export interface DeleteRecordsResponse {
@@ -2320,8 +2360,8 @@ export interface RunQueryRequest {
2320
2360
  top?: number;
2321
2361
  [key: string]: unknown;
2322
2362
  };
2323
- /** The filter, using the Quickbase query language, which determines the records to return. If this parameter is omitted, the query will return all records. */
2324
- where?: string;
2363
+ /** The filter, using the Quickbase query language, which determines the records to return. Or supply a JSON array of Record IDs. If this parameter is omitted, the query will return all records. */
2364
+ where?: string | number[];
2325
2365
  /** An array that contains the fields to group the records by. */
2326
2366
  groupBy?: {
2327
2367
  /** The unique identifier of a field in a table. */
@@ -2330,9 +2370,8 @@ export interface RunQueryRequest {
2330
2370
  grouping?: 'equal-values';
2331
2371
  [key: string]: unknown;
2332
2372
  }[];
2333
- /** An array of field IDs and sort directions. If this attribute is not set or set to false, queries will be unsorted to improve performance. */
2334
- sortBy?: SortField[] | false;
2335
- /** An array of field ids for the fields that should be returned in the response. If empty, the default columns on the table will be returned. */
2373
+ sortBy?: SortByUnion;
2374
+ /** An array of field IDs for the fields that should be returned in the response. If empty, the default columns on the table will be returned. */
2336
2375
  select?: number[];
2337
2376
  /** The table identifier. */
2338
2377
  from: string;
@@ -2367,6 +2406,34 @@ export interface RunQueryResponse {
2367
2406
  };
2368
2407
  [key: string]: unknown;
2369
2408
  }
2409
+ /** Get records modified since */
2410
+ export interface RecordsModifiedSinceRequest {
2411
+ /** A timestamp, formatted in ISO-8601 UTC, representing the date and time to search. */
2412
+ after: string;
2413
+ /** List of field IDs. Each field is crawled across the entire record dependency graph to find its source record's date modified. If one is not provided, only the current table will be referenced. */
2414
+ fieldList?: number[];
2415
+ /** When true, the individual record IDs and timestamps will be returned. If false, only the count of changes will be returned. */
2416
+ includeDetails?: boolean;
2417
+ /** The table identifier. */
2418
+ from: string;
2419
+ }
2420
+ export interface RecordsModifiedSinceResponse {
2421
+ /** The count of changes found. */
2422
+ count: number;
2423
+ /** When includeDetails is true, this array contains the individual record changes. If includeDetails is false, this array will not be returned. */
2424
+ changes?: ({
2425
+ /** A record whose dependencies were found to have been updated after the time provided. */
2426
+ recordId?: number;
2427
+ /** The timestamp that Quickbase found that exceeded the after time. This does not represent the latest date modified in the record graph. */
2428
+ timestamp?: string;
2429
+ /** The type of change that was detected. */
2430
+ changeType?: 'CREATE' | 'MODIFY' | 'DELETE';
2431
+ [key: string]: unknown;
2432
+ })[];
2433
+ /** When true, this indicates that the number of deletes detected exceeded the limit and details could not be returned. */
2434
+ deletesTruncated?: boolean;
2435
+ [key: string]: unknown;
2436
+ }
2370
2437
  /** Get a temporary token for a dbid */
2371
2438
  export interface GetTempTokenDBIDParams {
2372
2439
  /** The unique identifier of an app or table. */
@@ -2592,7 +2659,7 @@ export interface AddMembersToGroupParams {
2592
2659
  }
2593
2660
  export type AddMembersToGroupRequest = string[];
2594
2661
  export interface AddMembersToGroupResponse {
2595
- /** A list of users that couldn’t be added to the group. This includes a list of IDs that represent invalid users and users who have already been added to the group. */
2662
+ /** A list of users that couldn't be added to the group. This includes a list of IDs that represent invalid users and users who have already been added to the group. */
2596
2663
  failure: string[];
2597
2664
  /** A list of users that have been added to the group successfully. */
2598
2665
  success: string[];
@@ -2605,7 +2672,7 @@ export interface RemoveMembersFromGroupParams {
2605
2672
  }
2606
2673
  export type RemoveMembersFromGroupRequest = string[];
2607
2674
  export interface RemoveMembersFromGroupResponse {
2608
- /** A list of users that couldn’t be removed from the group. This includes a list of IDs that represent invalid users. */
2675
+ /** A list of users that couldn't be removed from the group. This includes a list of IDs that represent invalid users. */
2609
2676
  failure: string[];
2610
2677
  /** A list of users that have been removed from the group successfully. */
2611
2678
  success: string[];
@@ -2618,7 +2685,7 @@ export interface AddManagersToGroupParams {
2618
2685
  }
2619
2686
  export type AddManagersToGroupRequest = string[];
2620
2687
  export interface AddManagersToGroupResponse {
2621
- /** A list of users that couldn’t be added to the group. This includes a list of IDs that represent invalid users and users who have already been added to the group. */
2688
+ /** A list of users that couldn't be added to the group. This includes a list of IDs that represent invalid users and users who have already been added to the group. */
2622
2689
  failure: string[];
2623
2690
  /** A list of users that have been added to the group successfully. */
2624
2691
  success: string[];
@@ -2631,7 +2698,7 @@ export interface RemoveManagersFromGroupParams {
2631
2698
  }
2632
2699
  export type RemoveManagersFromGroupRequest = string[];
2633
2700
  export interface RemoveManagersFromGroupResponse {
2634
- /** A list of users that couldn’t be removed from the group. This includes a list of IDs that represent invalid users. */
2701
+ /** A list of users that couldn't be removed from the group. This includes a list of IDs that represent invalid users. */
2635
2702
  failure: string[];
2636
2703
  /** A list of users that have been removed from the group successfully. */
2637
2704
  success: string[];
@@ -2644,7 +2711,7 @@ export interface AddSubgroupsToGroupParams {
2644
2711
  }
2645
2712
  export type AddSubgroupsToGroupRequest = string[];
2646
2713
  export interface AddSubgroupsToGroupResponse {
2647
- /** A list of child groups that couldn’t be added to the group. This includes a list of IDs that represent invalid groups and groups that have already been added to the group. */
2714
+ /** A list of child groups that couldn't be added to the group. This includes a list of IDs that represent invalid groups and groups that have already been added to the group. */
2648
2715
  failure: string[];
2649
2716
  /** A list of child groups that have been added to the group successfully. */
2650
2717
  success: string[];
@@ -2657,7 +2724,7 @@ export interface RemoveSubgroupsFromGroupParams {
2657
2724
  }
2658
2725
  export type RemoveSubgroupsFromGroupRequest = string[];
2659
2726
  export interface RemoveSubgroupsFromGroupResponse {
2660
- /** A list of child groups that couldn’t be removed from the group. This includes a list of IDs that represent invalid groups. */
2727
+ /** A list of child groups that couldn't be removed from the group. This includes a list of IDs that represent invalid groups. */
2661
2728
  failure: string[];
2662
2729
  /** A list of child groups that have been removed from the group successfully. */
2663
2730
  success: string[];
@@ -2733,20 +2800,28 @@ export interface PlatformAnalyticReadsParams {
2733
2800
  day?: string;
2734
2801
  }
2735
2802
  export interface PlatformAnalyticReadsResponse {
2736
- /** The date of the requested summary. */
2737
- date: string;
2738
- /** Total reads for the specified date. */
2739
- reads: {
2740
- /** Total user reads for the realm on the specified date. */
2741
- user: number;
2742
- /** Total integration reads for the realm on the specified date. */
2743
- integrations: {
2744
- /** Total reads by anonymous users for the realm on the specified date. */
2745
- eoti: number;
2746
- /** Total API reads for the realm on the specified date. */
2747
- api: number;
2748
- /** Total pipeline reads for the realm on the specified date. */
2749
- pipelines: number;
2803
+ /** The data object containing the read summaries. */
2804
+ data: {
2805
+ /** Detailed read summaries for a specific date. */
2806
+ dailyDetailedReads: {
2807
+ /** The date of the requested summary. */
2808
+ date: string;
2809
+ /** Total reads for the specified date. */
2810
+ reads: {
2811
+ /** Total user reads for the realm on the specified date. */
2812
+ user: number;
2813
+ /** Total integration reads for the realm on the specified date. */
2814
+ integrations: {
2815
+ /** Total reads by anonymous users for the realm on the specified date. */
2816
+ eoti: number;
2817
+ /** Total API reads for the realm on the specified date. */
2818
+ api: number;
2819
+ /** Total pipeline reads for the realm on the specified date. */
2820
+ pipelines: number;
2821
+ [key: string]: unknown;
2822
+ };
2823
+ [key: string]: unknown;
2824
+ };
2750
2825
  [key: string]: unknown;
2751
2826
  };
2752
2827
  [key: string]: unknown;
@@ -2763,10 +2838,10 @@ export interface PlatformAnalyticEventSummariesRequest {
2763
2838
  start: string;
2764
2839
  /** The end date and time of the requested summaries in ISO 8601 time format. */
2765
2840
  end: string;
2841
+ /** A pagination token from a previous response made using the same parameters. Used to fetch the next page. */
2842
+ nextToken?: string;
2766
2843
  /** How the events should be grouped. */
2767
2844
  groupBy: 'app' | 'user';
2768
- /** A pagination token from a previous response. Used to fetch the next page. */
2769
- nextToken?: string;
2770
2845
  /** A list of items to filter events by. Only events which match ALL criteria will be included in the results. */
2771
2846
  where?: ({
2772
2847
  /** Id of the item to filter by - the hash uid if filtering a user, or the app id if filtering an app. */
@@ -2776,63 +2851,67 @@ export interface PlatformAnalyticEventSummariesRequest {
2776
2851
  })[];
2777
2852
  }
2778
2853
  export interface PlatformAnalyticEventSummariesResponse {
2779
- /** The ID of the account the events are associated with. */
2780
- accountId: string;
2781
- /** The start date and time of the requested summaries in ISO 8601 time format. */
2782
- start: string;
2783
- /** The end date and time of the requested summaries in ISO 8601 time format. */
2784
- end: string;
2785
- /** How the events should be grouped. */
2786
- groupBy: 'app' | 'user';
2787
- where: ({
2788
- /** Id of the item to filter by. */
2789
- id: string;
2790
- /** The type of item to filter by. */
2791
- type: 'app' | 'user';
2792
- })[];
2793
- /** An array of objects that contains Application/User information and an events object with summaries by event type. */
2794
- results: ({
2795
- /** An array of events that contains specific information associated with an Application/User broken down by event type. */
2796
- eventTypes: ({
2797
- /** Billing category of the event type. */
2798
- billingCategory?: 'user' | 'integration';
2799
- /** Count of events associated with that event type and Application/User. */
2800
- count?: number;
2801
- /** Event type */
2802
- eventType?: string;
2803
- })[];
2804
- /** Id of the Application/User. */
2805
- id: string;
2806
- /** Name of the Application/User. */
2807
- name: string;
2808
- /** Totals by billing category for the event grouping. */
2809
- totals: {
2810
- all?: number;
2811
- integration?: number;
2812
- user?: number;
2854
+ data: {
2855
+ eventsSummaries: {
2856
+ /** The ID of the account the events are associated with. */
2857
+ accountId: string;
2858
+ /** The start date and time of the requested summaries in ISO 8601 time format. */
2859
+ start: string;
2860
+ /** The end date and time of the requested summaries in ISO 8601 time format. */
2861
+ end: string;
2862
+ /** How the events should be grouped. */
2863
+ groupBy: 'app' | 'user';
2864
+ where: ({
2865
+ /** Id of the item to filter by. */
2866
+ id: string;
2867
+ /** The type of item to filter by. */
2868
+ type: 'app' | 'user';
2869
+ })[];
2870
+ /** An array of objects that contains Application/User information and an events object with summaries by event type. */
2871
+ results: ({
2872
+ /** Id of the Application/User. */
2873
+ id: string;
2874
+ /** Name of the Application/User. */
2875
+ name: string;
2876
+ /** Totals by billing category for the event grouping. */
2877
+ totals: {
2878
+ integration?: number;
2879
+ user?: number;
2880
+ all?: number;
2881
+ };
2882
+ /** An array of events that contains specific information associated with an Application/User broken down by event type. */
2883
+ eventTypes: ({
2884
+ /** Event type */
2885
+ eventType?: string;
2886
+ /** Count of events associated with that event type and Application/User. */
2887
+ count?: number;
2888
+ /** Billing category of the event type. */
2889
+ billingCategory?: 'user' | 'integration';
2890
+ })[];
2891
+ })[];
2892
+ /** Additional information about the results that may be helpful. */
2893
+ metadata: {
2894
+ /** Supply this token in a subsequent request to fetch the next page of results. */
2895
+ nextToken: string;
2896
+ };
2897
+ /** Totals by billing category for all queried events. */
2898
+ totals: {
2899
+ integration?: number;
2900
+ user?: number;
2901
+ all?: number;
2902
+ };
2813
2903
  };
2814
- })[];
2815
- /** Additional information about the results that may be helpful. */
2816
- metadata?: {
2817
- /** Supply this token in a subsequent request to fetch the next page of results. */
2818
- nextToken: string;
2819
- };
2820
- /** Totals by billing category for all queried events. */
2821
- totals?: {
2822
- all?: number;
2823
- integration?: number;
2824
- user?: number;
2825
2904
  };
2826
2905
  }
2827
2906
  /** Export a solution */
2828
2907
  export interface ExportSolutionParams {
2829
- /** The unique identifier of a solution */
2908
+ /** The unique identifier (UUID) or the alias of the solution. */
2830
2909
  solutionId: string;
2831
2910
  }
2832
2911
  export type ExportSolutionResponse = unknown;
2833
2912
  /** Update a solution */
2834
2913
  export interface UpdateSolutionParams {
2835
- /** The unique identifier of a solution */
2914
+ /** The unique identifier (UUID) or the alias of the solution. */
2836
2915
  solutionId: string;
2837
2916
  }
2838
2917
  export type UpdateSolutionRequest = unknown;
@@ -2923,6 +3002,145 @@ export interface GenerateDocumentResponse {
2923
3002
  contentType?: string;
2924
3003
  [key: string]: unknown;
2925
3004
  }
3005
+ /** Get solution information */
3006
+ export interface GetSolutionPublicParams {
3007
+ /** The unique identifier (UUID) or the alias of the solution. */
3008
+ solutionId: string;
3009
+ }
3010
+ export type GetSolutionPublicResponse = unknown;
3011
+ /** Get trustees for an app */
3012
+ export interface GetTrusteesParams {
3013
+ /** The unique identifier of an app */
3014
+ appId: string;
3015
+ }
3016
+ export type GetTrusteesResponse = ({
3017
+ /** The ID of the user, group, or email domain group to be added as a trustee. For users and groups, this is the user's or group's ID in Quickbase. For email domain groups, this is the email domain. */
3018
+ id: string;
3019
+ /** The ID of the role to be assigned or currently assigned to the trustee. */
3020
+ roleId: number;
3021
+ /** The type of trustee being added. This can be a user, group, or email domain group. */
3022
+ type: 'user' | 'group' | 'dom-group';
3023
+ })[];
3024
+ /** Add trustees to an app */
3025
+ export interface AddTrusteesParams {
3026
+ /** The unique identifier of an app */
3027
+ appId: string;
3028
+ }
3029
+ export type AddTrusteesRequest = ({
3030
+ /** The ID of the user, group, or email domain group to be added as a trustee. For users and groups, this is the user's or group's ID in Quickbase. For email domain groups, this is the email domain. */
3031
+ id: string;
3032
+ /** The ID of the role to be assigned or currently assigned to the trustee. */
3033
+ roleId: number;
3034
+ /** The type of trustee being added. This can be a user, group, or email domain group. */
3035
+ type: 'user' | 'group' | 'dom-group';
3036
+ })[];
3037
+ export interface AddTrusteesResponse {
3038
+ /** A list of trustees that were not updated. This includes invalid IDs or IDs that could not be processed. */
3039
+ failure: ({
3040
+ /** The error message associated with the trustee that could not be updated. */
3041
+ error?: string;
3042
+ /** Object used for operations to read, create, or update trustees in an app. */
3043
+ trustee?: {
3044
+ /** The ID of the user, group, or email domain group to be added as a trustee. For users and groups, this is the user's or group's ID in Quickbase. For email domain groups, this is the email domain. */
3045
+ id: string;
3046
+ /** The ID of the role to be assigned or currently assigned to the trustee. */
3047
+ roleId: number;
3048
+ /** The type of trustee being added. This can be a user, group, or email domain group. */
3049
+ type: 'user' | 'group' | 'dom-group';
3050
+ };
3051
+ })[];
3052
+ /** A list of trustees that have been successfully updated. */
3053
+ success: ({
3054
+ /** The ID of the user, group, or email domain group to be added as a trustee. For users and groups, this is the user's or group's ID in Quickbase. For email domain groups, this is the email domain. */
3055
+ id: string;
3056
+ /** The ID of the role to be assigned or currently assigned to the trustee. */
3057
+ roleId: number;
3058
+ /** The type of trustee being added. This can be a user, group, or email domain group. */
3059
+ type: 'user' | 'group' | 'dom-group';
3060
+ })[];
3061
+ }
3062
+ /** Remove trustees from an app */
3063
+ export interface RemoveTrusteesParams {
3064
+ /** The unique identifier of an app */
3065
+ appId: string;
3066
+ }
3067
+ export type RemoveTrusteesRequest = ({
3068
+ /** The ID of the user, group, or email domain group to be added as a trustee. For users and groups, this is the user's or group's ID in Quickbase. For email domain groups, this is the email domain. */
3069
+ id: string;
3070
+ /** The ID of the role to be assigned or currently assigned to the trustee. */
3071
+ roleId: number;
3072
+ /** The type of trustee being added. This can be a user, group, or email domain group. */
3073
+ type: 'user' | 'group' | 'dom-group';
3074
+ })[];
3075
+ export interface RemoveTrusteesResponse {
3076
+ /** A list of trustees that were not updated. This includes invalid IDs or IDs that could not be processed. */
3077
+ failure: ({
3078
+ /** The error message associated with the trustee that could not be updated. */
3079
+ error?: string;
3080
+ /** Object used for operations to read, create, or update trustees in an app. */
3081
+ trustee?: {
3082
+ /** The ID of the user, group, or email domain group to be added as a trustee. For users and groups, this is the user's or group's ID in Quickbase. For email domain groups, this is the email domain. */
3083
+ id: string;
3084
+ /** The ID of the role to be assigned or currently assigned to the trustee. */
3085
+ roleId: number;
3086
+ /** The type of trustee being added. This can be a user, group, or email domain group. */
3087
+ type: 'user' | 'group' | 'dom-group';
3088
+ };
3089
+ })[];
3090
+ /** A list of trustees that have been successfully updated. */
3091
+ success: ({
3092
+ /** The ID of the user, group, or email domain group to be added as a trustee. For users and groups, this is the user's or group's ID in Quickbase. For email domain groups, this is the email domain. */
3093
+ id: string;
3094
+ /** The ID of the role to be assigned or currently assigned to the trustee. */
3095
+ roleId: number;
3096
+ /** The type of trustee being added. This can be a user, group, or email domain group. */
3097
+ type: 'user' | 'group' | 'dom-group';
3098
+ })[];
3099
+ }
3100
+ /** Update trustees of an app */
3101
+ export interface UpdateTrusteesParams {
3102
+ /** The unique identifier of an app */
3103
+ appId: string;
3104
+ }
3105
+ export type UpdateTrusteesRequest = ({
3106
+ /** The ID of the user, group, or email domain group to be added as a trustee. For users and groups, this is the user's or group's ID in Quickbase. For email domain groups, this is the email domain. */
3107
+ id: string;
3108
+ /** The ID of the role to be assigned or currently assigned to the trustee. */
3109
+ roleId: number;
3110
+ /** The ID of the role to be changed for the trustee. This is used to identify the current role before updating it. */
3111
+ oldRoleId: number;
3112
+ /** The type of trustee being added. This can be a user, group, or email domain group. */
3113
+ type: 'user' | 'group' | 'dom-group';
3114
+ })[];
3115
+ export interface UpdateTrusteesResponse {
3116
+ /** A list of trustees that were not updated. This includes invalid IDs or IDs that could not be processed. */
3117
+ failure: ({
3118
+ /** The error message associated with the trustee that could not be updated. */
3119
+ error?: string;
3120
+ /** Object used for operations to read, create, or update trustees in an app. */
3121
+ trustee?: {
3122
+ /** The ID of the user, group, or email domain group to be added as a trustee. For users and groups, this is the user's or group's ID in Quickbase. For email domain groups, this is the email domain. */
3123
+ id: string;
3124
+ /** The ID of the role to be assigned or currently assigned to the trustee. */
3125
+ roleId: number;
3126
+ /** The ID of the role to be changed for the trustee. This is used to identify the current role before updating it. */
3127
+ oldRoleId: number;
3128
+ /** The type of trustee being added. This can be a user, group, or email domain group. */
3129
+ type: 'user' | 'group' | 'dom-group';
3130
+ };
3131
+ })[];
3132
+ /** A list of trustees that have been successfully updated. */
3133
+ success: ({
3134
+ /** The ID of the user, group, or email domain group to be added as a trustee. For users and groups, this is the user's or group's ID in Quickbase. For email domain groups, this is the email domain. */
3135
+ id: string;
3136
+ /** The ID of the role to be assigned or currently assigned to the trustee. */
3137
+ roleId: number;
3138
+ /** The ID of the role to be changed for the trustee. This is used to identify the current role before updating it. */
3139
+ oldRoleId: number;
3140
+ /** The type of trustee being added. This can be a user, group, or email domain group. */
3141
+ type: 'user' | 'group' | 'dom-group';
3142
+ })[];
3143
+ }
2926
3144
  /**
2927
3145
  * QuickBase API client interface
2928
3146
  */
@@ -3018,6 +3236,18 @@ export interface QuickbaseAPI {
3018
3236
  * @see https://developer.quickbase.com/operation/copyApp
3019
3237
  */
3020
3238
  copyApp(params: CopyAppParams, body: CopyAppRequest): Promise<CopyAppResponse>;
3239
+ /**
3240
+ * Get app roles
3241
+ *
3242
+ * Retrieves all of the roles for an application. Requires admin access to an app.
3243
+ *
3244
+ * @param params.appId - The unique identifier of an app
3245
+ *
3246
+ * @returns Success
3247
+ *
3248
+ * @see https://developer.quickbase.com/operation/getRoles
3249
+ */
3250
+ getRoles(params: GetRolesParams): Promise<GetRolesResponse>;
3021
3251
  /**
3022
3252
  * Get tables for an app
3023
3253
  *
@@ -3115,9 +3345,9 @@ export interface QuickbaseAPI {
3115
3345
  *
3116
3346
  * @param body - Request body
3117
3347
  * @param body.summaryFields - Array of summary field objects which will turn into summary fields in the parent table. When you specify the 'COUNT' accumulation type, you have to specify 0 as the summaryFid (or not set it in the request). 'DISTINCT-COUNT' requires that summaryFid be set to an actual fid. (optional)
3118
- * @param body.lookupFieldIds - Array of field ids in the parent table that will become lookup fields in the child table. (optional)
3348
+ * @param body.lookupFieldIds - Array of field IDs in the parent table that will become lookup fields in the child table. (optional)
3119
3349
  * @param body.parentTableId - The parent table id for the relationship.
3120
- * @param body.foreignKeyField - This property is optional. If it is not provided, the foreign key field will be created with the label ‘Related <record>’, where <record> is the name of a record in the parent table. (optional)
3350
+ * @param body.foreignKeyField - This property is optional. If it is not provided, the foreign key field will be created with the label ‘Related <record>', where <record> is the name of a record in the parent table. (optional)
3121
3351
  *
3122
3352
  * @returns Success
3123
3353
  *
@@ -3134,7 +3364,7 @@ export interface QuickbaseAPI {
3134
3364
  *
3135
3365
  * @param body - Request body (optional)
3136
3366
  * @param body.summaryFields - An array of objects, each representing a configuration of one field from the child table, that will become summary fields on the parent table. When you specify the 'COUNT' accumulation type, you have to specify 0 as the summaryFid (or not set it in the request). 'DISTINCT-COUNT' requires that summaryFid be set to an actual fid. (optional)
3137
- * @param body.lookupFieldIds - An array of field ids on the parent table that will become lookup fields on the child table. (optional)
3367
+ * @param body.lookupFieldIds - An array of field IDs on the parent table that will become lookup fields on the child table. (optional)
3138
3368
  *
3139
3369
  * @returns Success
3140
3370
  *
@@ -3217,12 +3447,12 @@ export interface QuickbaseAPI {
3217
3447
  * @param params.tableId - The unique identifier of the table.
3218
3448
  *
3219
3449
  * @param body - Request body
3220
- * @param body.audited - Indicates if the field is being tracked as part of Quickbase Audit Logs. You can only set this property to "true" if the app has audit logs enabled. See Enable data change logs under [Quickbase Audit Logs](https://help.quickbase.com/user-assistance/audit_logs.html). Defaults to false. (optional)
3450
+ * @param body.audited - Indicates if the field is being tracked as part of Quickbase Audit Logs. You can only set this property to "true" if the app has audit logs enabled. See Enable data change logs under [Quickbase Audit Logs](https://help.quickbase.com/docs/audit-logs). Defaults to false. (optional)
3221
3451
  * @param body.fieldHelp - The configured help text shown to users within the product. (optional)
3222
3452
  * @param body.bold - Indicates if the field is configured to display in bold in the product. Defaults to false. (optional)
3223
3453
  * @param body.properties - Specific field properties. (optional)
3224
3454
  * @param body.appearsByDefault - Indicates if the field is marked as a default in reports. Defaults to true. (optional)
3225
- * @param body.fieldType - The [field types](https://help.quickbase.com/user-assistance/field_types.html), click on any of the field type links for more info.
3455
+ * @param body.fieldType - The [field types](https://help.quickbase.com/docs/field-types), click on any of the field type links for more info.
3226
3456
  * @param body.permissions - Field Permissions for different roles. (optional)
3227
3457
  * @param body.addToForms - Whether the field you are adding should appear on forms. Defaults to false. (optional)
3228
3458
  * @param body.label - The label (name) of the field.
@@ -3242,7 +3472,7 @@ export interface QuickbaseAPI {
3242
3472
  * @param params.tableId - The unique identifier of the table.
3243
3473
  *
3244
3474
  * @param body - Request body
3245
- * @param body.fieldIds - List of field ids to be deleted.
3475
+ * @param body.fieldIds - List of field IDs to be deleted.
3246
3476
  *
3247
3477
  * @returns Success
3248
3478
  *
@@ -3267,7 +3497,7 @@ export interface QuickbaseAPI {
3267
3497
  /**
3268
3498
  * Update a field
3269
3499
  *
3270
- * Updates the properties and custom permissions of a field. The attempt to update certain properties might cause existing data to no longer obey the field’s new properties and may be rejected. See the descriptions of required, unique, and choices, below, for specific situations. Any properties of the field that you do not specify in the request body will remain unchanged.
3500
+ * Updates the properties and custom permissions of a field. The attempt to update certain properties might cause existing data to no longer obey the field's new properties and may be rejected. See the descriptions of required, unique, and choices, below, for specific situations. Any properties of the field that you do not specify in the request body will remain unchanged.
3271
3501
  *
3272
3502
  * @param params.tableId - The unique identifier of the table.
3273
3503
  * @param params.fieldId - The unique identifier (fid) of the field.
@@ -3343,7 +3573,7 @@ export interface QuickbaseAPI {
3343
3573
  * @param body.to - The table identifier.
3344
3574
  * @param body.data - Record data array, where each record contains key-value mappings of fields to be defined/updated and their values. (optional)
3345
3575
  * @param body.mergeFieldId - The merge field id. (optional)
3346
- * @param body.fieldsToReturn - Specify an array of field ids that will return data for any updates or added record. Record ID (FID 3) is always returned if any field ID is requested. (optional)
3576
+ * @param body.fieldsToReturn - Specify an array of field IDs that will return data for any updates or added record. Record ID (FID 3) is always returned if any field ID is requested. (optional)
3347
3577
  *
3348
3578
  * @returns Response
3349
3579
  *
@@ -3357,7 +3587,7 @@ export interface QuickbaseAPI {
3357
3587
  *
3358
3588
  * @param body - Request body
3359
3589
  * @param body.from - The unique identifier of the table.
3360
- * @param body.where - The filter to delete records. To delete all records specify a filter that will include all records, for example {3.GT.0} where 3 is the ID of the Record ID field.
3590
+ * @param body.where - The filter to delete records. To delete all records specify a filter that will include all records, for example {3.GT.0} where 3 is the ID of the Record ID field. Or supply a JSON array of Record IDs.
3361
3591
  *
3362
3592
  * @returns Successful delete records response.
3363
3593
  *
@@ -3371,10 +3601,10 @@ export interface QuickbaseAPI {
3371
3601
  *
3372
3602
  * @param body - Request body
3373
3603
  * @param body.options - Additional query options. (optional)
3374
- * @param body.where - The filter, using the Quickbase query language, which determines the records to return. If this parameter is omitted, the query will return all records. (optional)
3604
+ * @param body.where - The filter, using the Quickbase query language, which determines the records to return. Or supply a JSON array of Record IDs. If this parameter is omitted, the query will return all records. (optional)
3375
3605
  * @param body.groupBy - An array that contains the fields to group the records by. (optional)
3376
- * @param body.sortBy - An array of field IDs and sort directions. If this attribute is not set or set to false, queries will be unsorted to improve performance. (optional)
3377
- * @param body.select - An array of field ids for the fields that should be returned in the response. If empty, the default columns on the table will be returned. (optional)
3606
+ * @param body.sortBy - The sortBy (optional)
3607
+ * @param body.select - An array of field IDs for the fields that should be returned in the response. If empty, the default columns on the table will be returned. (optional)
3378
3608
  * @param body.from - The table identifier.
3379
3609
  *
3380
3610
  * @returns Success
@@ -3382,6 +3612,24 @@ export interface QuickbaseAPI {
3382
3612
  * @see https://developer.quickbase.com/operation/runQuery
3383
3613
  */
3384
3614
  runQuery(body: RunQueryRequest): PaginatedRequest<RunQueryResponse>;
3615
+ /**
3616
+ * Get records modified since
3617
+ *
3618
+ * Checks for record changes on the current table and crawls the record dependency graph based on a provided field list. This determines if records on the table changed after the provided timestamp, when factoring in their dependencies. This API requires app admin permissions and only reviews lookup and summary fields in supported relationships.
3619
+ To return deleted records for the current table, 'Index record changes' must be enabled.
3620
+ Dependent tables only evaluate current records, and deleted records are not supported.
3621
+ *
3622
+ * @param body - Request body (optional)
3623
+ * @param body.after - A timestamp, formatted in ISO-8601 UTC, representing the date and time to search.
3624
+ * @param body.fieldList - List of field IDs. Each field is crawled across the entire record dependency graph to find its source record's date modified. If one is not provided, only the current table will be referenced. (optional)
3625
+ * @param body.includeDetails - When true, the individual record IDs and timestamps will be returned. If false, only the count of changes will be returned. (optional)
3626
+ * @param body.from - The table identifier.
3627
+ *
3628
+ * @returns Success
3629
+ *
3630
+ * @see https://developer.quickbase.com/operation/recordsModifiedSince
3631
+ */
3632
+ recordsModifiedSince(body?: RecordsModifiedSinceRequest): Promise<RecordsModifiedSinceResponse>;
3385
3633
  /**
3386
3634
  * Get a temporary token for a dbid
3387
3635
  *
@@ -3672,25 +3920,25 @@ export interface QuickbaseAPI {
3672
3920
  *
3673
3921
  * @param params.accountId - The ID of the account to query. If no value is specified, the first account matching the provided domain is chosen. (optional)
3674
3922
  *
3675
- * @param body - Request body (optional)
3923
+ * @param body - Request body
3676
3924
  * @param body.start - The start date and time of the requested summaries in ISO 8601 time format.
3677
3925
  * @param body.end - The end date and time of the requested summaries in ISO 8601 time format.
3926
+ * @param body.nextToken - A pagination token from a previous response made using the same parameters. Used to fetch the next page. (optional)
3678
3927
  * @param body.groupBy - How the events should be grouped.
3679
- * @param body.nextToken - A pagination token from a previous response. Used to fetch the next page. (optional)
3680
3928
  * @param body.where - A list of items to filter events by. Only events which match ALL criteria will be included in the results. (optional)
3681
3929
  *
3682
3930
  * @returns Event summaries returned succesfully
3683
3931
  *
3684
3932
  * @see https://developer.quickbase.com/operation/platformAnalyticEventSummaries
3685
3933
  */
3686
- platformAnalyticEventSummaries(params: PlatformAnalyticEventSummariesParams, body?: PlatformAnalyticEventSummariesRequest): PaginatedRequest<PlatformAnalyticEventSummariesResponse>;
3934
+ platformAnalyticEventSummaries(params: PlatformAnalyticEventSummariesParams, body: PlatformAnalyticEventSummariesRequest): PaginatedRequest<PlatformAnalyticEventSummariesResponse>;
3687
3935
  /**
3688
3936
  * Export a solution
3689
3937
  *
3690
- * Returns the QBL for the specified solution. Learn more about [QBL syntax](https://help.quickbase.com/hc/en-us/articles/24845511223828-What-is-QBL).
3691
- We are releasing schema coverage for QBL in stages. See [what's supported today](https://helpv2.quickbase.com/hc/en-us/articles/30119680754068-QBL-version-0-4-overview) in our QBL documentation.
3938
+ * Returns the QBL for the specified solution. Learn more about [QBL syntax](https://help.quickbase.com/docs/qbl-definition-structure-and-syntax).
3939
+ We are releasing schema coverage for QBL in stages. See [what's supported today](https://help.quickbase.com/docs/qbl-versions) in our QBL documentation.
3692
3940
  *
3693
- * @param params.solutionId - The unique identifier of a solution
3941
+ * @param params.solutionId - The unique identifier (UUID) or the alias of the solution.
3694
3942
  *
3695
3943
  * @returns Success
3696
3944
  *
@@ -3701,9 +3949,9 @@ export interface QuickbaseAPI {
3701
3949
  * Update a solution
3702
3950
  *
3703
3951
  * Updates the solution using the provided QBL. Learn more about [QBL syntax](https://help.quickbase.com/hc/en-us/articles/24845511223828-What-is-QBL).
3704
- We are releasing schema coverage for QBL in stages. See [what's supported today](https://helpv2.quickbase.com/hc/en-us/articles/30119680754068-QBL-version-0-4-overview) in our QBL documentation.
3952
+ We are releasing schema coverage for QBL in stages. See [what's supported today](https://helpv2.quickbase.com/hc/en-us/sections/26699387198228-QBL-Versions) in our QBL documentation.
3705
3953
  *
3706
- * @param params.solutionId - The unique identifier of a solution
3954
+ * @param params.solutionId - The unique identifier (UUID) or the alias of the solution.
3707
3955
  *
3708
3956
  * @param body - The QBL to be used for the update. (optional)
3709
3957
  *
@@ -3716,7 +3964,7 @@ export interface QuickbaseAPI {
3716
3964
  * Create a solution
3717
3965
  *
3718
3966
  * Creates a solution using the provided QBL. Learn more about [QBL syntax](https://help.quickbase.com/hc/en-us/articles/24845511223828-What-is-QBL).
3719
- We are releasing schema coverage for QBL in stages. See [what's supported today](https://helpv2.quickbase.com/hc/en-us/articles/30119680754068-QBL-version-0-4-overview) in our QBL documentation.
3967
+ We are releasing schema coverage for QBL in stages. See [what's supported today](https://helpv2.quickbase.com/hc/en-us/sections/26699387198228-QBL-Versions) in our QBL documentation.
3720
3968
  *
3721
3969
  * @param body - The QBL to be used for the create.
3722
3970
  *
@@ -3729,7 +3977,7 @@ export interface QuickbaseAPI {
3729
3977
  * Export solution to record
3730
3978
  *
3731
3979
  * Exports the solution and outputs the resulting QBL in a new record in the specified table. The QBL will be saved to a file in the file attachment field that is specified. The table cannot have any required fields besides the file attachment field.
3732
- We are releasing schema coverage for QBL in stages. See [what's supported today](https://helpv2.quickbase.com/hc/en-us/articles/30119680754068-QBL-version-0-4-overview) in our QBL documentation.
3980
+ We are releasing schema coverage for QBL in stages. See [what's supported today](https://helpv2.quickbase.com/hc/en-us/sections/26699387198228-QBL-Versions) in our QBL documentation.
3733
3981
  *
3734
3982
  * @param params.solutionId - The unique identifier of the solution.
3735
3983
  * @param params.tableId - The unique identifier (dbid) of the table.
@@ -3744,7 +3992,7 @@ export interface QuickbaseAPI {
3744
3992
  * Create solution from record
3745
3993
  *
3746
3994
  * Creates a solution using the QBL from the specified record.
3747
- We are releasing schema coverage for QBL in stages. See [what's supported today](https://helpv2.quickbase.com/hc/en-us/articles/30119680754068-QBL-version-0-4-overview) in our QBL documentation.
3995
+ We are releasing schema coverage for QBL in stages. See [what's supported today](https://helpv2.quickbase.com/hc/en-us/sections/26699387198228-QBL-Versions) in our QBL documentation.
3748
3996
  *
3749
3997
  * @param params.tableId - The unique identifier (dbid) of the table.
3750
3998
  * @param params.fieldId - The unique identifier (fid) of the field. It needs to be a file attachment field.
@@ -3759,7 +4007,7 @@ export interface QuickbaseAPI {
3759
4007
  * Update solution from record
3760
4008
  *
3761
4009
  * Updates a solution using the QBL from the specified record.
3762
- We are releasing schema coverage for QBL in stages. See [what's supported today](https://helpv2.quickbase.com/hc/en-us/articles/30119680754068-QBL-version-0-4-overview) in our QBL documentation.
4010
+ We are releasing schema coverage for QBL in stages. See [what's supported today](https://helpv2.quickbase.com/hc/en-us/sections/26699387198228-QBL-Versions) in our QBL documentation.
3763
4011
  *
3764
4012
  * @param params.solutionId - The unique identifier of the solution.
3765
4013
  * @param params.tableId - The unique identifier (dbid) of the table.
@@ -3775,7 +4023,7 @@ export interface QuickbaseAPI {
3775
4023
  * List solution changes
3776
4024
  *
3777
4025
  * Returns a list of changes that would occur if the provided QBL were to be applied. Learn more about [QBL syntax](https://help.quickbase.com/hc/en-us/articles/24845511223828-What-is-QBL).
3778
- We are releasing schema coverage for QBL in stages. See [what's supported today](https://helpv2.quickbase.com/hc/en-us/articles/30119680754068-QBL-version-0-4-overview) in our QBL documentation.
4026
+ We are releasing schema coverage for QBL in stages. See [what's supported today](https://helpv2.quickbase.com/hc/en-us/sections/26699387198228-QBL-Versions) in our QBL documentation.
3779
4027
  *
3780
4028
  * @param params.solutionId - The unique identifier of the solution.
3781
4029
  *
@@ -3790,7 +4038,7 @@ export interface QuickbaseAPI {
3790
4038
  * List solution changes from record
3791
4039
  *
3792
4040
  * Returns a list of changes that would occur if the QBL from the provided record were to be applied.
3793
- We are releasing schema coverage for QBL in stages. See [what's supported today](https://helpv2.quickbase.com/hc/en-us/articles/30119680754068-QBL-version-0-4-overview) in our QBL documentation.
4041
+ We are releasing schema coverage for QBL in stages. See [what's supported today](https://helpv2.quickbase.com/hc/en-us/sections/26699387198228-QBL-Versions) in our QBL documentation.
3794
4042
  *
3795
4043
  * @param params.solutionId - The unique identifier of the solution.
3796
4044
  * @param params.tableId - The unique identifier (dbid) of the table.
@@ -3805,7 +4053,7 @@ export interface QuickbaseAPI {
3805
4053
  /**
3806
4054
  * Generate a document
3807
4055
  *
3808
- * Generates a document from a template. This feature is only available on business or enterprise plans.
4056
+ * Generates a document from a template. After changing a template, allow up to 15 minutes for documents generated via the API to reflect the changes. This feature is only available on business or enterprise plans.
3809
4057
  *
3810
4058
  * @param params.templateId - This is the ID of document template.
3811
4059
  * @param params.tableId - The unique identifier of the table.
@@ -3823,5 +4071,71 @@ export interface QuickbaseAPI {
3823
4071
  * @see https://developer.quickbase.com/operation/generateDocument
3824
4072
  */
3825
4073
  generateDocument(params: GenerateDocumentParams): Promise<GenerateDocumentResponse>;
4074
+ /**
4075
+ * Get solution information
4076
+ *
4077
+ * Returns the metadata and resource information for a solution, including both real and logical IDs of apps and pipelines contained within the solution. This endpoint provides programmatic access to solution structure information.
4078
+ *
4079
+ * @param params.solutionId - The unique identifier (UUID) or the alias of the solution.
4080
+ *
4081
+ * @returns Success
4082
+ *
4083
+ * @see https://developer.quickbase.com/operation/getSolutionPublic
4084
+ */
4085
+ getSolutionPublic(params: GetSolutionPublicParams): Promise<GetSolutionPublicResponse>;
4086
+ /**
4087
+ * Get trustees for an app
4088
+ *
4089
+ * Returns the list of trustees for a specific application. Trustees include users, groups and email domain groups.
4090
+ *
4091
+ * @param params.appId - The unique identifier of an app
4092
+ *
4093
+ * @returns Success
4094
+ *
4095
+ * @see https://developer.quickbase.com/operation/getTrustees
4096
+ */
4097
+ getTrustees(params: GetTrusteesParams): Promise<GetTrusteesResponse>;
4098
+ /**
4099
+ * Add trustees to an app
4100
+ *
4101
+ * Add trustees to the specified application. Trustees include users, groups and email domain groups.
4102
+ *
4103
+ * @param params.appId - The unique identifier of an app
4104
+ *
4105
+ * @param body - Request body (optional)
4106
+ *
4107
+ * @returns Success
4108
+ *
4109
+ * @see https://developer.quickbase.com/operation/addTrustees
4110
+ */
4111
+ addTrustees(params: AddTrusteesParams, body?: AddTrusteesRequest): Promise<AddTrusteesResponse>;
4112
+ /**
4113
+ * Remove trustees from an app
4114
+ *
4115
+ * Remove trustees from the specified application. Trustees include users, groups and email domain groups.
4116
+ *
4117
+ * @param params.appId - The unique identifier of an app
4118
+ *
4119
+ * @param body - Request body (optional)
4120
+ *
4121
+ * @returns Success
4122
+ *
4123
+ * @see https://developer.quickbase.com/operation/removeTrustees
4124
+ */
4125
+ removeTrustees(params: RemoveTrusteesParams, body?: RemoveTrusteesRequest): Promise<RemoveTrusteesResponse>;
4126
+ /**
4127
+ * Update trustees of an app
4128
+ *
4129
+ * Update trustees for the specified application. Trustees include users, groups and email domain groups.
4130
+ *
4131
+ * @param params.appId - The unique identifier of an app
4132
+ *
4133
+ * @param body - Request body (optional)
4134
+ *
4135
+ * @returns Success
4136
+ *
4137
+ * @see https://developer.quickbase.com/operation/updateTrustees
4138
+ */
4139
+ updateTrustees(params: UpdateTrusteesParams, body?: UpdateTrusteesRequest): Promise<UpdateTrusteesResponse>;
3826
4140
  }
3827
4141
  //# sourceMappingURL=types.d.ts.map