@workbuddy/sdk-js-edge 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/index.d.ts +2813 -424
  2. package/index.js +900 -61
  3. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -85,6 +85,10 @@ export class WorkBuddyApiError extends Error {
85
85
  export class WorkBuddyClient {
86
86
  /** Jobs API operations. */
87
87
  jobs: WorkBuddyJobsResource;
88
+ /** Items API operations. */
89
+ items: WorkBuddyItemsResource;
90
+ /** Pending Items API operations. */
91
+ pendingItems: WorkBuddyPendingItemsResource;
88
92
  /** Stages API operations. */
89
93
  stages: WorkBuddyStagesResource;
90
94
  /** Settings API operations. */
@@ -736,6 +740,8 @@ export interface WorkBuddyJobsCreateParams extends WorkBuddyRequestParams {
736
740
  * integration ID
737
741
  */
738
742
  integrationId?: string;
743
+
744
+ jobNumber?: string;
739
745
  /**
740
746
  * Detailed description
741
747
  */
@@ -748,6 +754,10 @@ export interface WorkBuddyJobsCreateParams extends WorkBuddyRequestParams {
748
754
  * Site ID — use /crm/sites to look up
749
755
  */
750
756
  siteId?: string;
757
+ /**
758
+ * place ID
759
+ */
760
+ placeId?: string;
751
761
  /**
752
762
  * Inline site object — alternative to siteId
753
763
  */
@@ -808,9 +818,124 @@ export interface WorkBuddyJobsCreateParams extends WorkBuddyRequestParams {
808
818
  */
809
819
  customerPO?: string;
810
820
  /**
811
- * Template ID to pre-populate fields from a template
821
+ * Start date (ISO 8601 datetime)
812
822
  */
813
- templateId?: string;
823
+ startDate?: string;
824
+ /**
825
+ * Due date (ISO 8601 datetime)
826
+ */
827
+ dueDate?: string;
828
+ /**
829
+ * Custom fields as key-value pairs — validated against tenant field definitions
830
+ */
831
+ customFields?: Record<string, unknown>;
832
+
833
+ items?: {
834
+ integrationId?: string;
835
+ code: string;
836
+ description?: string;
837
+ longDescription?: string;
838
+ quantity: number;
839
+ location?: string;
840
+ note?: string;
841
+ status?: 'Normal' | 'Variation' | 'Cancelled' | 'Deleted';
842
+ buyPrice?: number;
843
+ sellPrice?: number;
844
+ invoicingStatus?: 'Billable' | 'No Charge' | 'Not Billable';
845
+ suppliedBySubcontractor?: boolean;
846
+ }[];
847
+ }
848
+
849
+ export interface WorkBuddyJobsTemplateCreateFromTemplateParams extends WorkBuddyRequestParams {
850
+ /**
851
+ * Job template ID
852
+ */
853
+ templateId: string;
854
+ /**
855
+ * Display name
856
+ */
857
+ name?: string;
858
+ /**
859
+ * integration ID
860
+ */
861
+ integrationId?: string;
862
+
863
+ jobNumber?: string;
864
+ /**
865
+ * Detailed description
866
+ */
867
+ description?: string;
868
+ /**
869
+ * Customer ID — use /crm/customers to look up
870
+ */
871
+ customerId: string;
872
+ /**
873
+ * Site ID — use /crm/sites to look up
874
+ */
875
+ siteId?: string;
876
+ /**
877
+ * place ID
878
+ */
879
+ placeId?: string;
880
+ /**
881
+ * Inline site object — alternative to siteId
882
+ */
883
+ site?: {
884
+ name?: string;
885
+ address: { street?: string; city?: string; state?: string; postcode?: string; country?: string };
886
+ };
887
+ /**
888
+ * Contact ID — use /crm/contacts to look up
889
+ */
890
+ contactId?: string;
891
+ /**
892
+ * Inline contact object — alternative to contactId
893
+ */
894
+ contact?: { name: string; phone?: string; email?: string };
895
+ /**
896
+ * Job type ID — use /settings/job-types to look up
897
+ */
898
+ typeId?: string;
899
+ /**
900
+ * Priority ID — use /settings/priorities to look up
901
+ */
902
+ priorityId?: string;
903
+ /**
904
+ * Price book ID for job pricing
905
+ */
906
+ priceBookId?: string;
907
+ /**
908
+ * Owner (employee) ID — use /crm/employees to look up
909
+ */
910
+ ownerId?: string;
911
+ /**
912
+ * Field supervisor (employee) ID — use /crm/employees to look up
913
+ */
914
+ fieldSupervisorId?: string;
915
+ /**
916
+ * Zone ID — use /settings/zones to look up
917
+ */
918
+ zoneId?: string;
919
+ /**
920
+ * Array of tag IDs (comma-separated, e.g. "id1,id2") — use /settings/tags to look up
921
+ */
922
+ tagIds?: string[];
923
+ /**
924
+ * Additional notes or comments
925
+ */
926
+ notes?: string;
927
+ /**
928
+ * External reference number
929
+ */
930
+ reference?: string;
931
+ /**
932
+ * Customer work order reference
933
+ */
934
+ customerWO?: string;
935
+ /**
936
+ * Customer purchase order reference
937
+ */
938
+ customerPO?: string;
814
939
  /**
815
940
  * Start date (ISO 8601 datetime)
816
941
  */
@@ -823,6 +948,42 @@ export interface WorkBuddyJobsCreateParams extends WorkBuddyRequestParams {
823
948
  * Custom fields as key-value pairs — validated against tenant field definitions
824
949
  */
825
950
  customFields?: Record<string, unknown>;
951
+
952
+ items?: {
953
+ integrationId?: string;
954
+ code: string;
955
+ description?: string;
956
+ longDescription?: string;
957
+ quantity: number;
958
+ location?: string;
959
+ note?: string;
960
+ status?: 'Normal' | 'Variation' | 'Cancelled' | 'Deleted';
961
+ buyPrice?: number;
962
+ sellPrice?: number;
963
+ invoicingStatus?: 'Billable' | 'No Charge' | 'Not Billable';
964
+ suppliedBySubcontractor?: boolean;
965
+ }[];
966
+ }
967
+
968
+ export interface WorkBuddyJobsStatusUpdateStatusParams extends WorkBuddyRequestParams {
969
+ /**
970
+ * Job ID
971
+ */
972
+ id: string;
973
+ /**
974
+ * For optimistic concurrency — update fails if entity was modified after this timestamp
975
+ */
976
+ updatedAt?: string;
977
+ /**
978
+ * Status filter
979
+ */
980
+ status: 'open' | 'in_progress' | 'on_hold' | 'completed' | 'finalised' | 'closed' | 'cancelled';
981
+
982
+ note?: string;
983
+ /**
984
+ * Reason for the action (e.g. cancellation reason)
985
+ */
986
+ reason?: string;
826
987
  }
827
988
 
828
989
  export interface WorkBuddyJobsUpdateParams extends WorkBuddyRequestParams {
@@ -964,7 +1125,7 @@ export interface WorkBuddyJobsStagesItemsListParams extends WorkBuddyRequestPara
964
1125
  limit?: number;
965
1126
  }
966
1127
 
967
- export interface WorkBuddyJobsStagesItemsGetStageItemParams extends WorkBuddyRequestParams {
1128
+ export interface WorkBuddyJobsStagesItemsCreateStageItemsParams extends WorkBuddyRequestParams {
968
1129
  /**
969
1130
  * Job ID
970
1131
  */
@@ -974,104 +1135,338 @@ export interface WorkBuddyJobsStagesItemsGetStageItemParams extends WorkBuddyReq
974
1135
  */
975
1136
  stageId: string;
976
1137
  /**
977
- * Item ID
1138
+ * For optimistic concurrency — update fails if entity was modified after this timestamp
978
1139
  */
979
- itemId: string;
1140
+ updatedAt: string;
1141
+
1142
+ items: {
1143
+ integrationId?: string;
1144
+ code: string;
1145
+ description?: string;
1146
+ longDescription?: string;
1147
+ quantity: number;
1148
+ location?: string;
1149
+ note?: string;
1150
+ status?: 'Normal' | 'Variation' | 'Cancelled' | 'Deleted';
1151
+ buyPrice?: number;
1152
+ sellPrice?: number;
1153
+ invoicingStatus?: 'Billable' | 'No Charge' | 'Not Billable';
1154
+ suppliedBySubcontractor?: boolean;
1155
+ }[];
980
1156
  }
981
1157
 
982
- export interface WorkBuddyStagesCreateParams extends WorkBuddyRequestParams {
1158
+ export interface WorkBuddyJobsStagesItemsGetStageItemParams extends WorkBuddyRequestParams {
983
1159
  /**
984
- * Job ID or job number (e.g. J12345)
1160
+ * Job ID
985
1161
  */
986
- jobId: string;
1162
+ id: string;
987
1163
  /**
988
- * Display name
1164
+ * Stage ID
989
1165
  */
990
- name: string;
1166
+ stageId: string;
991
1167
  /**
992
- * Work category ID — use /settings/work-types to look up
1168
+ * Item ID
993
1169
  */
994
- workCategoryId?: string;
1170
+ itemId: string;
1171
+ }
1172
+
1173
+ export interface WorkBuddyJobsStagesItemsUpdateStageItemParams extends WorkBuddyRequestParams {
995
1174
  /**
996
- * Display order / sequence number
1175
+ * Job ID
997
1176
  */
998
- sequence?: number;
1177
+ id: string;
999
1178
  /**
1000
- * Start date (ISO 8601 datetime)
1179
+ * Stage ID
1001
1180
  */
1002
- startDate?: string;
1181
+ stageId: string;
1003
1182
  /**
1004
- * Due date (ISO 8601 datetime)
1183
+ * Item ID
1005
1184
  */
1006
- dueDate?: string;
1185
+ itemId: string;
1007
1186
  /**
1008
- * Additional notes or comments
1187
+ * For optimistic concurrency — update fails if entity was modified after this timestamp
1009
1188
  */
1010
- notes?: string;
1189
+ updatedAt: string;
1190
+
1191
+ quantity?: number;
1192
+
1193
+ unit?: string;
1194
+
1195
+ location?: string;
1196
+
1197
+ note?: string;
1198
+
1199
+ buyPrice?: number;
1200
+
1201
+ sellPrice?: number;
1011
1202
  /**
1012
- * Custom fields as key-value pairs — validated against tenant field definitions
1203
+ * Status filter
1013
1204
  */
1014
- customFields?: Record<string, unknown>;
1205
+ status?: 'Normal' | 'Variation' | 'Cancelled' | 'Deleted';
1206
+
1207
+ invoicingStatus?: 'Billable' | 'No Charge' | 'Not Billable';
1208
+
1209
+ suppliedBySubcontractor?: boolean;
1015
1210
  }
1016
1211
 
1017
- export interface WorkBuddyStagesUpdateParams extends WorkBuddyRequestParams {
1212
+ export interface WorkBuddyJobsStagesItemsDeleteStageItemParams extends WorkBuddyRequestParams {
1018
1213
  /**
1019
- * Stage ID
1214
+ * Job ID
1020
1215
  */
1021
1216
  id: string;
1022
1217
  /**
1023
- * Display name
1218
+ * Stage ID
1024
1219
  */
1025
- name?: string;
1220
+ stageId: string;
1026
1221
  /**
1027
- * Work category ID — use /settings/work-types to look up
1222
+ * Item ID
1028
1223
  */
1029
- workCategoryId?: string;
1224
+ itemId: string;
1225
+ }
1226
+
1227
+ export interface WorkBuddyItemsListParams extends WorkBuddyRequestParams {
1030
1228
  /**
1031
- * Start date (ISO 8601 datetime)
1229
+ * External integration ID for the line item
1032
1230
  */
1033
- startDate?: string;
1231
+ integrationId: string;
1232
+ }
1233
+
1234
+ export interface WorkBuddyPendingItemsListParams extends WorkBuddyRequestParams {
1034
1235
  /**
1035
- * Due date (ISO 8601 datetime)
1236
+ * External integration ID for the pending item
1036
1237
  */
1037
- dueDate?: string;
1238
+ integrationId: string;
1239
+ }
1240
+
1241
+ export interface WorkBuddyJobsStagesPendingItemsListParams extends WorkBuddyRequestParams {
1038
1242
  /**
1039
- * Additional notes or comments
1243
+ * Job ID
1040
1244
  */
1041
- notes?: string;
1245
+ id: string;
1042
1246
  /**
1043
- * Tag operation — use set, add, or remove (mutually exclusive: set vs add/remove)
1247
+ * Stage ID
1044
1248
  */
1045
- tags?: { set?: string[]; add?: string[]; remove?: string[] };
1249
+ stageId: string;
1046
1250
  /**
1047
- * Scheduling tag operation use set, add, or remove
1251
+ * Pending item ID after which to continue
1048
1252
  */
1049
- schedulingTags?: { set?: string[]; add?: string[]; remove?: string[] };
1253
+ cursor?: string;
1050
1254
  /**
1051
- * Custom fields as key-value pairs — validated against tenant field definitions
1255
+ * Maximum results (1-200)
1052
1256
  */
1053
- customFields?: Record<string, unknown>;
1257
+ limit?: number;
1054
1258
  }
1055
1259
 
1056
- export interface WorkBuddyStagesDeleteParams extends WorkBuddyRequestParams {
1260
+ export interface WorkBuddyJobsStagesPendingItemsCreateParams extends WorkBuddyRequestParams {
1057
1261
  /**
1058
- * Stage ID
1262
+ * Job ID
1059
1263
  */
1060
1264
  id: string;
1061
- }
1062
-
1063
- export interface WorkBuddyStagesDispatchParams extends WorkBuddyRequestParams {
1064
1265
  /**
1065
1266
  * Stage ID
1066
1267
  */
1067
- id: string;
1268
+ stageId: string;
1269
+
1270
+ items: {
1271
+ integrationId?: string;
1272
+ code: string;
1273
+ description?: string;
1274
+ longDescription?: string;
1275
+ quantity: number;
1276
+ location?: string;
1277
+ note?: string;
1278
+ itemStatusId: string;
1279
+ buyPrice?: number;
1280
+ sellPrice?: number;
1281
+ invoicingStatus?: 'Billable' | 'No Charge' | 'Not Billable';
1282
+ suppliedBySubcontractor?: boolean;
1283
+ }[];
1068
1284
  }
1069
1285
 
1070
- export interface WorkBuddyStagesCompleteCompleteParams extends WorkBuddyRequestParams {
1286
+ export interface WorkBuddyJobsStagesPendingItemsGetParams extends WorkBuddyRequestParams {
1287
+ /**
1288
+ * Job ID
1289
+ */
1290
+ id: string;
1291
+ /**
1292
+ * Stage ID
1293
+ */
1294
+ stageId: string;
1295
+ /**
1296
+ * Pending item ID
1297
+ */
1298
+ itemId: string;
1299
+ }
1300
+
1301
+ export interface WorkBuddyJobsStagesPendingItemsUpdateParams extends WorkBuddyRequestParams {
1302
+ /**
1303
+ * Job ID
1304
+ */
1305
+ id: string;
1306
+ /**
1307
+ * Stage ID
1308
+ */
1309
+ stageId: string;
1310
+ /**
1311
+ * Pending item ID
1312
+ */
1313
+ itemId: string;
1314
+ /**
1315
+ * For optimistic concurrency — update fails if entity was modified after this timestamp
1316
+ */
1317
+ updatedAt?: string;
1318
+
1319
+ quantity?: number;
1320
+
1321
+ unit?: string;
1322
+
1323
+ location?: string;
1324
+
1325
+ note?: string;
1326
+
1327
+ buyPrice?: number;
1328
+
1329
+ sellPrice?: number;
1330
+
1331
+ invoicingStatus?: 'Billable' | 'No Charge' | 'Not Billable';
1332
+
1333
+ suppliedBySubcontractor?: boolean;
1334
+ }
1335
+
1336
+ export interface WorkBuddyJobsStagesPendingItemsDeleteParams extends WorkBuddyRequestParams {
1337
+ /**
1338
+ * Job ID
1339
+ */
1340
+ id: string;
1341
+ /**
1342
+ * Stage ID
1343
+ */
1344
+ stageId: string;
1345
+ /**
1346
+ * Pending item ID
1347
+ */
1348
+ itemId: string;
1349
+ }
1350
+
1351
+ export interface WorkBuddyJobsStagesPendingItemsStatusUpdateStatusParams extends WorkBuddyRequestParams {
1352
+ /**
1353
+ * Job ID
1354
+ */
1355
+ id: string;
1356
+ /**
1357
+ * Stage ID
1358
+ */
1359
+ stageId: string;
1360
+ /**
1361
+ * Pending item ID
1362
+ */
1363
+ itemId: string;
1364
+ /**
1365
+ * item status ID
1366
+ */
1367
+ itemStatusId: string;
1368
+ }
1369
+
1370
+ export interface WorkBuddyJobsStagesPendingItemsApproveApproveParams extends WorkBuddyRequestParams {
1371
+ /**
1372
+ * Job ID
1373
+ */
1374
+ id: string;
1375
+ /**
1376
+ * Stage ID
1377
+ */
1378
+ stageId: string;
1379
+ /**
1380
+ * Pending item ID
1381
+ */
1382
+ itemId: string;
1383
+ }
1384
+
1385
+ export interface WorkBuddyStagesCreateParams extends WorkBuddyRequestParams {
1386
+ /**
1387
+ * Job ID or job number (e.g. J12345)
1388
+ */
1389
+ jobId: string;
1390
+ /**
1391
+ * Display name
1392
+ */
1393
+ name: string;
1394
+ /**
1395
+ * Work category ID — use /settings/work-types to look up
1396
+ */
1397
+ workCategoryId?: string;
1398
+ /**
1399
+ * Start date (ISO 8601 datetime)
1400
+ */
1401
+ startDate?: string;
1402
+ /**
1403
+ * Due date (ISO 8601 datetime)
1404
+ */
1405
+ dueDate?: string;
1406
+ /**
1407
+ * Custom fields as key-value pairs — validated against tenant field definitions
1408
+ */
1409
+ customFields?: Record<string, unknown>;
1410
+ }
1411
+
1412
+ export interface WorkBuddyStagesUpdateParams extends WorkBuddyRequestParams {
1413
+ /**
1414
+ * Stage ID
1415
+ */
1416
+ id: string;
1417
+ /**
1418
+ * Display name
1419
+ */
1420
+ name?: string;
1421
+ /**
1422
+ * Work category ID — use /settings/work-types to look up
1423
+ */
1424
+ workCategoryId?: string;
1425
+ /**
1426
+ * Start date (ISO 8601 datetime)
1427
+ */
1428
+ startDate?: string;
1429
+ /**
1430
+ * Due date (ISO 8601 datetime)
1431
+ */
1432
+ dueDate?: string;
1433
+ /**
1434
+ * Tag operation — use set, add, or remove (mutually exclusive: set vs add/remove)
1435
+ */
1436
+ tags?: { set?: string[]; add?: string[]; remove?: string[] };
1437
+ /**
1438
+ * Scheduling tag operation — use set, add, or remove
1439
+ */
1440
+ schedulingTags?: { set?: string[]; add?: string[]; remove?: string[] };
1441
+ /**
1442
+ * Custom fields as key-value pairs — validated against tenant field definitions
1443
+ */
1444
+ customFields?: Record<string, unknown>;
1445
+ }
1446
+
1447
+ export interface WorkBuddyStagesDeleteParams extends WorkBuddyRequestParams {
1448
+ /**
1449
+ * Stage ID
1450
+ */
1451
+ id: string;
1452
+ }
1453
+
1454
+ export interface WorkBuddyStagesDispatchParams extends WorkBuddyRequestParams {
1455
+ /**
1456
+ * Stage ID
1457
+ */
1458
+ id: string;
1459
+ }
1460
+
1461
+ export interface WorkBuddyStagesCompleteCompleteParams extends WorkBuddyRequestParams {
1071
1462
  /**
1072
1463
  * Stage ID
1073
1464
  */
1074
1465
  id: string;
1466
+ /**
1467
+ * status ID
1468
+ */
1469
+ statusId?: string;
1075
1470
  /**
1076
1471
  * Completion date (ISO 8601 datetime)
1077
1472
  */
@@ -1082,6 +1477,19 @@ export interface WorkBuddyStagesCompleteCompleteParams extends WorkBuddyRequestP
1082
1477
  notes?: string;
1083
1478
  }
1084
1479
 
1480
+ export interface WorkBuddyStagesInProgressInProgressParams extends WorkBuddyRequestParams {
1481
+ /**
1482
+ * Stage ID
1483
+ */
1484
+ id: string;
1485
+ /**
1486
+ * status ID
1487
+ */
1488
+ statusId: string;
1489
+
1490
+ note?: string;
1491
+ }
1492
+
1085
1493
  export interface WorkBuddyStagesFinaliseFinaliseParams extends WorkBuddyRequestParams {
1086
1494
  /**
1087
1495
  * Stage ID
@@ -1091,6 +1499,8 @@ export interface WorkBuddyStagesFinaliseFinaliseParams extends WorkBuddyRequestP
1091
1499
  * Finalisation date (ISO 8601 datetime)
1092
1500
  */
1093
1501
  finalisedDate?: string;
1502
+
1503
+ note?: string;
1094
1504
  }
1095
1505
 
1096
1506
  export interface WorkBuddyStagesCancelCancelParams extends WorkBuddyRequestParams {
@@ -1102,6 +1512,19 @@ export interface WorkBuddyStagesCancelCancelParams extends WorkBuddyRequestParam
1102
1512
  note: string;
1103
1513
  }
1104
1514
 
1515
+ export interface WorkBuddyStagesOnHoldOnHoldParams extends WorkBuddyRequestParams {
1516
+ /**
1517
+ * Stage ID
1518
+ */
1519
+ id: string;
1520
+ /**
1521
+ * status ID
1522
+ */
1523
+ statusId: string;
1524
+
1525
+ note?: string;
1526
+ }
1527
+
1105
1528
  export interface WorkBuddyStagesReverseReverseParams extends WorkBuddyRequestParams {
1106
1529
  /**
1107
1530
  * Stage ID
@@ -1168,7 +1591,7 @@ export interface WorkBuddyJobsStagesResourcesGetParams extends WorkBuddyRequestP
1168
1591
  */
1169
1592
  stageId: string;
1170
1593
  /**
1171
- * Resource ID
1594
+ * Resource or contractor contact ID
1172
1595
  */
1173
1596
  resourceId: string;
1174
1597
  }
@@ -1223,24 +1646,57 @@ export interface WorkBuddyJobsStagesResourcesStatusUpdateStatusParams extends Wo
1223
1646
  /**
1224
1647
  * Status filter
1225
1648
  */
1226
- status: 'enroute' | 'onsite' | 'checkedout' | 'completed' | 'onhold';
1649
+ status: 'completed' | 'onhold';
1227
1650
 
1228
1651
  location?: { lat: number; lng: number };
1229
1652
  }
1230
1653
 
1231
1654
  export interface WorkBuddySettingsEntityStatusesListParams extends WorkBuddyRequestParams {
1232
1655
  /**
1233
- * Entity type (customer, contractor, supplier)
1656
+ * Entity type (customer, contractor, supplier, contact, external-user, pending-item)
1234
1657
  */
1235
- entity: string;
1658
+ entity: 'customer' | 'contractor' | 'supplier' | 'contact' | 'external-user' | 'pending-item';
1236
1659
  }
1237
1660
 
1238
1661
  export interface WorkBuddySettingsJobStatusesListParams extends WorkBuddyRequestParams {}
1239
1662
 
1240
1663
  export interface WorkBuddySettingsJobTypesListParams extends WorkBuddyRequestParams {}
1241
1664
 
1665
+ export interface WorkBuddySettingsJobTemplatesListParams extends WorkBuddyRequestParams {}
1666
+
1242
1667
  export interface WorkBuddySettingsPrioritiesListParams extends WorkBuddyRequestParams {}
1243
1668
 
1669
+ export interface WorkBuddySettingsPricebooksListParams extends WorkBuddyRequestParams {
1670
+ limit?: number;
1671
+
1672
+ assignableOnly?: boolean;
1673
+
1674
+ mode?: 'static' | 'dynamic';
1675
+ /**
1676
+ * Name contains or exact id
1677
+ */
1678
+ search?: string;
1679
+
1680
+ includeGlobal?: boolean;
1681
+ /**
1682
+ * account ID
1683
+ */
1684
+ accountId?: string;
1685
+
1686
+ status?: 'current' | 'expired' | 'future' | 'all';
1687
+
1688
+ category: 'customer' | 'contractor' | 'supplier';
1689
+ }
1690
+
1691
+ export interface WorkBuddySettingsPricebooksGetByIdOrNameParams extends WorkBuddyRequestParams {
1692
+ /**
1693
+ * Pricebook id or exact name
1694
+ */
1695
+ idOrName: string;
1696
+
1697
+ category?: 'customer' | 'contractor' | 'supplier';
1698
+ }
1699
+
1244
1700
  export interface WorkBuddySettingsStageStatusesListParams extends WorkBuddyRequestParams {}
1245
1701
 
1246
1702
  export interface WorkBuddySettingsTagsListParams extends WorkBuddyRequestParams {}
@@ -1266,7 +1722,14 @@ export interface WorkBuddySettingsTemplatesSmsListSmsTemplatesParams extends Wor
1266
1722
  export interface WorkBuddySettingsItemsListParams extends WorkBuddyRequestParams {}
1267
1723
 
1268
1724
  export interface WorkBuddySettingsItemsCreateParams extends WorkBuddyRequestParams {
1269
- type: 'SERVICE' | 'INVENTORY' | 'NON-INVENTORY' | 'LABOUR' | 'INCENTIVE';
1725
+ /**
1726
+ * Request body.
1727
+ */
1728
+ body: unknown;
1729
+ }
1730
+
1731
+ export interface WorkBuddySettingsItemsUpsertParams extends WorkBuddyRequestParams {
1732
+ type?: 'SERVICE' | 'INVENTORY' | 'NON-INVENTORY' | 'INCENTIVE' | 'KIT' | 'BUNDLE' | 'SOR';
1270
1733
  /**
1271
1734
  * Display name
1272
1735
  */
@@ -1280,9 +1743,17 @@ export interface WorkBuddySettingsItemsCreateParams extends WorkBuddyRequestPara
1280
1743
  /**
1281
1744
  * Detailed description
1282
1745
  */
1283
- description: string;
1746
+ description?: string;
1284
1747
 
1285
- category: { categoryId?: string; categoryName?: string; subCategoryId?: string; subCategoryName?: string };
1748
+ category?: {
1749
+ categoryId?: string;
1750
+ categoryName?: string;
1751
+ subCategoryId?: string;
1752
+ subCategoryName?: string;
1753
+ workCategoryId?: string;
1754
+ workCategoryName?: string;
1755
+ createMissingCategory?: boolean;
1756
+ };
1286
1757
  /**
1287
1758
  * Whether the entity is active
1288
1759
  */
@@ -1362,7 +1833,7 @@ export interface WorkBuddySettingsItemsUpdateParams extends WorkBuddyRequestPara
1362
1833
  */
1363
1834
  id: string;
1364
1835
 
1365
- type?: 'SERVICE' | 'INVENTORY' | 'NON-INVENTORY' | 'LABOUR' | 'INCENTIVE';
1836
+ type?: 'SERVICE' | 'INVENTORY' | 'NON-INVENTORY' | 'INCENTIVE' | 'KIT' | 'BUNDLE' | 'SOR';
1366
1837
  /**
1367
1838
  * Display name
1368
1839
  */
@@ -1378,7 +1849,15 @@ export interface WorkBuddySettingsItemsUpdateParams extends WorkBuddyRequestPara
1378
1849
  */
1379
1850
  description?: string;
1380
1851
 
1381
- category?: { categoryId?: string; categoryName?: string; subCategoryId?: string; subCategoryName?: string };
1852
+ category?: {
1853
+ categoryId?: string;
1854
+ categoryName?: string;
1855
+ subCategoryId?: string;
1856
+ subCategoryName?: string;
1857
+ workCategoryId?: string;
1858
+ workCategoryName?: string;
1859
+ createMissingCategory?: boolean;
1860
+ };
1382
1861
  /**
1383
1862
  * Whether the entity is active
1384
1863
  */
@@ -1452,115 +1931,54 @@ export interface WorkBuddySettingsItemsDeleteParams extends WorkBuddyRequestPara
1452
1931
  id: string;
1453
1932
  }
1454
1933
 
1455
- export interface WorkBuddySettingsItemsUpsertParams extends WorkBuddyRequestParams {
1456
- type: 'SERVICE' | 'INVENTORY' | 'NON-INVENTORY' | 'LABOUR' | 'INCENTIVE';
1934
+ export interface WorkBuddySettingsItemCategoriesListParams extends WorkBuddyRequestParams {
1457
1935
  /**
1458
- * Display name
1936
+ * Alias for search
1459
1937
  */
1460
- name: string;
1938
+ id?: string;
1461
1939
  /**
1462
- * base uom ID
1940
+ * Alias for search
1463
1941
  */
1464
- baseUomId?: string;
1465
-
1466
- baseUomName?: string;
1942
+ name?: string;
1467
1943
  /**
1468
- * Detailed description
1944
+ * Filter by category/sub-category name or id
1469
1945
  */
1470
- description: string;
1946
+ search?: string;
1947
+ }
1471
1948
 
1472
- category: { categoryId?: string; categoryName?: string; subCategoryId?: string; subCategoryName?: string };
1949
+ export interface WorkBuddySettingsItemCategoriesUpsertParams extends WorkBuddyRequestParams {
1473
1950
  /**
1474
- * Whether the entity is active
1951
+ * category ID
1475
1952
  */
1476
- active?: boolean;
1953
+ categoryId?: string;
1954
+
1955
+ categoryName?: string;
1477
1956
  /**
1478
- * integration ID
1957
+ * sub category ID
1479
1958
  */
1480
- integrationId?: string;
1481
-
1482
- canOverrideDesc?: boolean;
1959
+ subCategoryId?: string;
1483
1960
 
1484
- longDescription?: string;
1961
+ subCategoryName?: string;
1962
+ }
1485
1963
 
1486
- manufacturer?: string;
1964
+ export interface WorkBuddySettingsUomsListParams extends WorkBuddyRequestParams {}
1487
1965
 
1488
- retailPrice?: number;
1966
+ export interface WorkBuddySettingsCustomFieldsJobsListJobCustomFieldsParams extends WorkBuddyRequestParams {}
1489
1967
 
1490
- tradePrice?: number;
1968
+ export interface WorkBuddySettingsCustomFieldsStagesListStageCustomFieldsParams extends WorkBuddyRequestParams {}
1491
1969
 
1492
- standardCost?: number;
1970
+ export interface WorkBuddySettingsCustomFieldsAccountsListAccountCustomFieldsParams extends WorkBuddyRequestParams {}
1493
1971
 
1494
- economicOrderQty?: number;
1972
+ export interface WorkBuddySettingsCustomFieldsItemsListItemCustomFieldsParams extends WorkBuddyRequestParams {}
1495
1973
 
1496
- safetyStockQty?: number;
1974
+ export interface WorkBuddySettingsRolesClientPortalListParams extends WorkBuddyRequestParams {}
1497
1975
 
1498
- leadTimeDays?: number;
1976
+ export interface WorkBuddySettingsRolesContractorPortalListParams extends WorkBuddyRequestParams {}
1499
1977
 
1500
- upc?: string;
1978
+ export interface WorkBuddyAttachmentsCreateUploadSessionParams extends WorkBuddyRequestParams {
1979
+ fileName: string;
1501
1980
 
1502
- itemSold?: boolean;
1503
-
1504
- saleGlCode?: string;
1505
- /**
1506
- * sale tax rate ID
1507
- */
1508
- saleTaxRateId?: string;
1509
-
1510
- saleTaxRateName?: string;
1511
-
1512
- itemPurchased?: boolean;
1513
-
1514
- purchaseGlCode?: string;
1515
- /**
1516
- * purchase tax rate ID
1517
- */
1518
- purchaseTaxRateId?: string;
1519
-
1520
- purchaseTaxRateName?: string;
1521
-
1522
- codeInvoicingStatus?: 'Billable' | 'No Charge' | 'Not Billable';
1523
-
1524
- suppliedBySubcontractor?: boolean;
1525
-
1526
- autoCreateTask?: boolean;
1527
- /**
1528
- * Custom fields as key-value pairs — validated against tenant field definitions
1529
- */
1530
- customFields?: string;
1531
-
1532
- trackingCategory1?: string;
1533
-
1534
- trackingCategory2?: string;
1535
-
1536
- uoms?: { uomId?: string; uomName?: string; conversionRate: number }[];
1537
-
1538
- matchBy?: 'integrationId' | 'name';
1539
- }
1540
-
1541
- export interface WorkBuddySettingsItemCategoriesListParams extends WorkBuddyRequestParams {}
1542
-
1543
- export interface WorkBuddySettingsItemCategoriesUpsertParams extends WorkBuddyRequestParams {
1544
- /**
1545
- * category ID
1546
- */
1547
- categoryId?: string;
1548
-
1549
- categoryName?: string;
1550
- /**
1551
- * sub category ID
1552
- */
1553
- subCategoryId?: string;
1554
-
1555
- subCategoryName?: string;
1556
- }
1557
-
1558
- export interface WorkBuddySettingsUomsListParams extends WorkBuddyRequestParams {}
1559
-
1560
- export interface WorkBuddyAttachmentsCreateUploadSessionParams extends WorkBuddyRequestParams {
1561
- fileName: string;
1562
-
1563
- contentType: string;
1981
+ contentType: string;
1564
1982
 
1565
1983
  size: number;
1566
1984
  }
@@ -1592,7 +2010,7 @@ export interface WorkBuddyJobsActivitiesGetParams extends WorkBuddyRequestParams
1592
2010
 
1593
2011
  export interface WorkBuddyJobsActivitiesDeleteParams extends WorkBuddyRequestParams {
1594
2012
  /**
1595
- * Job ID or job number (e.g. J12345)
2013
+ * Job ID
1596
2014
  */
1597
2015
  jobId: string;
1598
2016
  /**
@@ -1610,6 +2028,8 @@ export interface WorkBuddyJobsActivitiesNoteCreateNoteParams extends WorkBuddyRe
1610
2028
  * Message body content (HTML supported for email)
1611
2029
  */
1612
2030
  body: string;
2031
+
2032
+ title?: string;
1613
2033
  /**
1614
2034
  * Array of label/tag IDs to attach (comma-separated, e.g. "id1,id2")
1615
2035
  */
@@ -1626,7 +2046,7 @@ export interface WorkBuddyJobsActivitiesNoteCreateNoteParams extends WorkBuddyRe
1626
2046
 
1627
2047
  export interface WorkBuddyJobsActivitiesEmailCreateEmailParams extends WorkBuddyRequestParams {
1628
2048
  /**
1629
- * Job ID or job number (e.g. J12345)
2049
+ * Job ID
1630
2050
  */
1631
2051
  jobId: string;
1632
2052
  /**
@@ -1683,7 +2103,7 @@ export interface WorkBuddyJobsActivitiesSmsCreateSmsParams extends WorkBuddyRequ
1683
2103
  /**
1684
2104
  * Recipients
1685
2105
  */
1686
- to?: { mobile: string }[];
2106
+ to?: { name?: string; mobile: string }[];
1687
2107
  /**
1688
2108
  * Array of label/tag IDs to attach (comma-separated, e.g. "id1,id2")
1689
2109
  */
@@ -1708,7 +2128,7 @@ export interface WorkBuddyJobsActivitiesPhoneCreatePhoneParams extends WorkBuddy
1708
2128
  /**
1709
2129
  * call date (ISO 8601 datetime)
1710
2130
  */
1711
- callDate?: string;
2131
+ callDate: string;
1712
2132
  /**
1713
2133
  * Message body content (HTML supported for email)
1714
2134
  */
@@ -1750,7 +2170,7 @@ export interface WorkBuddyJobsActivitiesThreadCreateThreadParams extends WorkBud
1750
2170
  */
1751
2171
  body: string;
1752
2172
 
1753
- integrationType: string;
2173
+ threadType: string;
1754
2174
  /**
1755
2175
  * Sharing options — control visibility to customer portal and field app
1756
2176
  */
@@ -1788,7 +2208,9 @@ export interface WorkBuddyJobsStagesActivitiesDeleteParams extends WorkBuddyRequ
1788
2208
  * Activity ID
1789
2209
  */
1790
2210
  id: string;
1791
-
2211
+ /**
2212
+ * Job ID
2213
+ */
1792
2214
  jobId: string;
1793
2215
  }
1794
2216
 
@@ -1803,6 +2225,8 @@ export interface WorkBuddyJobsStagesActivitiesNoteCreateNoteParams extends WorkB
1803
2225
  * Message body content (HTML supported for email)
1804
2226
  */
1805
2227
  body: string;
2228
+
2229
+ title?: string;
1806
2230
  /**
1807
2231
  * Array of label/tag IDs to attach (comma-separated, e.g. "id1,id2")
1808
2232
  */
@@ -1822,7 +2246,9 @@ export interface WorkBuddyJobsStagesActivitiesEmailCreateEmailParams extends Wor
1822
2246
  * Stage ID or stage number
1823
2247
  */
1824
2248
  stageId: string;
1825
-
2249
+ /**
2250
+ * Job ID
2251
+ */
1826
2252
  jobId: string;
1827
2253
  /**
1828
2254
  * Template ID to pre-populate fields from a template
@@ -1880,7 +2306,7 @@ export interface WorkBuddyJobsStagesActivitiesSmsCreateSmsParams extends WorkBud
1880
2306
  /**
1881
2307
  * Recipients
1882
2308
  */
1883
- to?: { mobile: string }[];
2309
+ to?: { name?: string; mobile: string }[];
1884
2310
  /**
1885
2311
  * Array of label/tag IDs to attach (comma-separated, e.g. "id1,id2")
1886
2312
  */
@@ -1907,7 +2333,7 @@ export interface WorkBuddyJobsStagesActivitiesPhoneCreatePhoneParams extends Wor
1907
2333
  /**
1908
2334
  * call date (ISO 8601 datetime)
1909
2335
  */
1910
- callDate?: string;
2336
+ callDate: string;
1911
2337
  /**
1912
2338
  * Message body content (HTML supported for email)
1913
2339
  */
@@ -1953,7 +2379,7 @@ export interface WorkBuddyJobsStagesActivitiesThreadCreateThreadParams extends W
1953
2379
  */
1954
2380
  body: string;
1955
2381
 
1956
- integrationType: string;
2382
+ threadType: string;
1957
2383
  /**
1958
2384
  * Sharing options — control visibility to customer portal and field app
1959
2385
  */
@@ -2083,6 +2509,7 @@ export interface WorkBuddyJobsTasksCreateParams extends WorkBuddyRequestParams {
2083
2509
  afterPhotoEnabled?: boolean;
2084
2510
  commentEnabled?: boolean;
2085
2511
  fileEnabled?: boolean;
2512
+ formEnabled?: boolean;
2086
2513
  };
2087
2514
  /**
2088
2515
  * Sharing options — control visibility to customer portal and field app
@@ -2186,12 +2613,6 @@ export interface WorkBuddyJobsTasksEvidenceSubmitEvidenceParams extends WorkBudd
2186
2613
  afterPhotoAttachmentIds?: string[];
2187
2614
 
2188
2615
  comment?: string;
2189
-
2190
- formResponse?: string;
2191
- /**
2192
- * form response ID
2193
- */
2194
- formResponseId?: string;
2195
2616
  /**
2196
2617
  * Array of file attachment IDs (comma-separated in CLI, e.g. "id1,id2")
2197
2618
  */
@@ -2255,6 +2676,7 @@ export interface WorkBuddyJobsStagesTasksCreateParams extends WorkBuddyRequestPa
2255
2676
  afterPhotoEnabled?: boolean;
2256
2677
  commentEnabled?: boolean;
2257
2678
  fileEnabled?: boolean;
2679
+ formEnabled?: boolean;
2258
2680
  };
2259
2681
  /**
2260
2682
  * Sharing options — control visibility to customer portal and field app
@@ -2366,12 +2788,6 @@ export interface WorkBuddyJobsStagesTasksEvidenceSubmitEvidenceParams extends Wo
2366
2788
  afterPhotoAttachmentIds?: string[];
2367
2789
 
2368
2790
  comment?: string;
2369
-
2370
- formResponse?: string;
2371
- /**
2372
- * form response ID
2373
- */
2374
- formResponseId?: string;
2375
2791
  /**
2376
2792
  * Array of file attachment IDs (comma-separated in CLI, e.g. "id1,id2")
2377
2793
  */
@@ -2421,6 +2837,14 @@ export interface WorkBuddyJobsContactsDeleteParams extends WorkBuddyRequestParam
2421
2837
  }
2422
2838
 
2423
2839
  export interface WorkBuddyCrmCustomersListParams extends WorkBuddyRequestParams {
2840
+ /**
2841
+ * Search by name, phone, email or legal name
2842
+ */
2843
+ search?: string;
2844
+ /**
2845
+ * Filter by external integration identifier
2846
+ */
2847
+ integrationId?: string;
2424
2848
  /**
2425
2849
  * Filter by status (e.g. Active, Inactive). Default: Active only
2426
2850
  */
@@ -2460,7 +2884,6 @@ export interface WorkBuddyCrmCustomersCreateParams extends WorkBuddyRequestParam
2460
2884
  suburb?: string;
2461
2885
  state?: string;
2462
2886
  postalCode?: string;
2463
- postcode?: string;
2464
2887
  country?: string;
2465
2888
  lat?: number;
2466
2889
  lgn?: number;
@@ -2470,6 +2893,10 @@ export interface WorkBuddyCrmCustomersCreateParams extends WorkBuddyRequestParam
2470
2893
  * Inline contact object — alternative to contactId
2471
2894
  */
2472
2895
  contact: { firstName: string; lastName: string; mobile?: string; email?: string; title?: string; note?: string };
2896
+ /**
2897
+ * Additional notes or comments
2898
+ */
2899
+ notes?: string;
2473
2900
  /**
2474
2901
  * Custom fields as key-value pairs — validated against tenant field definitions
2475
2902
  */
@@ -2477,7 +2904,7 @@ export interface WorkBuddyCrmCustomersCreateParams extends WorkBuddyRequestParam
2477
2904
 
2478
2905
  type: 'Service Provider' | 'Business' | 'Residential';
2479
2906
 
2480
- socialNetwork?: Record<string, unknown>;
2907
+ socialNetwork?: { facebook?: string; twitter?: string; linkedin?: string; instagram?: string };
2481
2908
  }
2482
2909
 
2483
2910
  export interface WorkBuddyCrmCustomersGetParams extends WorkBuddyRequestParams {
@@ -2520,26 +2947,47 @@ export interface WorkBuddyCrmCustomersUpdateParams extends WorkBuddyRequestParam
2520
2947
  suburb?: string;
2521
2948
  state?: string;
2522
2949
  postalCode?: string;
2523
- postcode?: string;
2524
2950
  country?: string;
2525
2951
  lat?: number;
2526
2952
  lgn?: number;
2527
2953
  timezone?: string;
2528
2954
  };
2529
2955
 
2956
+ primarySite?: Record<string, unknown>;
2957
+
2530
2958
  owner?: Record<string, unknown>;
2531
2959
 
2532
2960
  labels?: Record<string, unknown>[];
2533
2961
  /**
2534
- * Detailed description
2962
+ * Additional notes or comments
2535
2963
  */
2536
- description?: string;
2964
+ notes?: string;
2537
2965
  /**
2538
2966
  * Custom fields as key-value pairs — validated against tenant field definitions
2539
2967
  */
2540
2968
  customFields?: Record<string, unknown>;
2541
2969
 
2542
- socialNetwork?: Record<string, unknown>;
2970
+ socialNetwork?: { facebook?: string; twitter?: string; linkedin?: string; instagram?: string };
2971
+ }
2972
+
2973
+ export interface WorkBuddyCrmCustomersDeleteParams extends WorkBuddyRequestParams {
2974
+ /**
2975
+ * Customer ID or integration ID
2976
+ */
2977
+ id: string;
2978
+ }
2979
+
2980
+ export interface WorkBuddyCrmCustomersStatusUpdateStatusParams extends WorkBuddyRequestParams {
2981
+ /**
2982
+ * Customer ID or integration ID
2983
+ */
2984
+ id: string;
2985
+ /**
2986
+ * status ID
2987
+ */
2988
+ statusId: string;
2989
+
2990
+ note?: string;
2543
2991
  }
2544
2992
 
2545
2993
  export interface WorkBuddyCrmCustomersContactsListParams extends WorkBuddyRequestParams {
@@ -2553,6 +3001,93 @@ export interface WorkBuddyCrmCustomersContactsListParams extends WorkBuddyReques
2553
3001
  limit?: number;
2554
3002
  }
2555
3003
 
3004
+ export interface WorkBuddyCrmCustomersContactsCreateContactParams extends WorkBuddyRequestParams {
3005
+ /**
3006
+ * Customer ID
3007
+ */
3008
+ customerId: string;
3009
+ /**
3010
+ * First name
3011
+ */
3012
+ firstName: string;
3013
+ /**
3014
+ * Last name
3015
+ */
3016
+ lastName: string;
3017
+ /**
3018
+ * Email address. Required when login is true.
3019
+ */
3020
+ email?: string;
3021
+ /**
3022
+ * Phone
3023
+ */
3024
+ phone?: string;
3025
+ /**
3026
+ * Mobile
3027
+ */
3028
+ mobile?: string;
3029
+ /**
3030
+ * Job title
3031
+ */
3032
+ title?: string;
3033
+ /**
3034
+ * Note
3035
+ */
3036
+ note?: string;
3037
+ /**
3038
+ * External integration identifier
3039
+ */
3040
+ integrationId?: string;
3041
+ /**
3042
+ * false = basic contact. true = external user with portal login (requires email and roleId).
3043
+ */
3044
+ login: boolean;
3045
+ /**
3046
+ * Portal security role id. Required when login is true. List via GET /settings/roles/client-portal or /settings/roles/contractor-portal.
3047
+ */
3048
+ roleId?: string;
3049
+ /**
3050
+ * Send invite email when login is true. Default true.
3051
+ */
3052
+ sendEmail?: boolean;
3053
+ /**
3054
+ * Automatically dispatch when contractor is assigned. Only for external users under a contractor.
3055
+ */
3056
+ autoDispatch?: boolean;
3057
+ }
3058
+
3059
+ export interface WorkBuddyCrmCustomersContactsDeleteContactParams extends WorkBuddyRequestParams {
3060
+ /**
3061
+ * Customer ID
3062
+ */
3063
+ customerId: string;
3064
+ /**
3065
+ * Contact ID
3066
+ */
3067
+ contactId: string;
3068
+ }
3069
+
3070
+ export interface WorkBuddyCrmCustomersContactsInviteInviteContactParams extends WorkBuddyRequestParams {
3071
+ /**
3072
+ * Customer ID
3073
+ */
3074
+ customerId: string;
3075
+ /**
3076
+ * Contact ID
3077
+ */
3078
+ contactId: string;
3079
+ /**
3080
+ * Email address
3081
+ */
3082
+ email?: string;
3083
+ /**
3084
+ * role ID
3085
+ */
3086
+ roleId: string;
3087
+
3088
+ sendEmail?: boolean;
3089
+ }
3090
+
2556
3091
  export interface WorkBuddyCrmCustomersSitesListParams extends WorkBuddyRequestParams {
2557
3092
  /**
2558
3093
  * Customer ID
@@ -2578,6 +3113,11 @@ export interface WorkBuddyCrmEmployeesGetParams extends WorkBuddyRequestParams {
2578
3113
  }
2579
3114
 
2580
3115
  export interface WorkBuddyCrmContractorsListParams extends WorkBuddyRequestParams {
3116
+ /**
3117
+ * Search by name, phone, email or legal name
3118
+ */
3119
+ search?: string;
3120
+
2581
3121
  cursor?: string;
2582
3122
 
2583
3123
  limit?: number;
@@ -2612,7 +3152,6 @@ export interface WorkBuddyCrmContractorsCreateParams extends WorkBuddyRequestPar
2612
3152
  suburb?: string;
2613
3153
  state?: string;
2614
3154
  postalCode?: string;
2615
- postcode?: string;
2616
3155
  country?: string;
2617
3156
  lat?: number;
2618
3157
  lgn?: number;
@@ -2622,11 +3161,17 @@ export interface WorkBuddyCrmContractorsCreateParams extends WorkBuddyRequestPar
2622
3161
  * Inline contact object — alternative to contactId
2623
3162
  */
2624
3163
  contact: { firstName: string; lastName: string; mobile?: string; email?: string; title?: string; note?: string };
3164
+ /**
3165
+ * Additional notes or comments
3166
+ */
3167
+ notes?: string;
2625
3168
  /**
2626
3169
  * Custom fields as key-value pairs — validated against tenant field definitions
2627
3170
  */
2628
3171
  customFields?: Record<string, unknown>;
2629
3172
 
3173
+ socialNetwork?: { facebook?: string; twitter?: string; linkedin?: string; instagram?: string };
3174
+
2630
3175
  hidePrices?: boolean;
2631
3176
  }
2632
3177
 
@@ -2670,25 +3215,28 @@ export interface WorkBuddyCrmContractorsUpdateParams extends WorkBuddyRequestPar
2670
3215
  suburb?: string;
2671
3216
  state?: string;
2672
3217
  postalCode?: string;
2673
- postcode?: string;
2674
3218
  country?: string;
2675
3219
  lat?: number;
2676
3220
  lgn?: number;
2677
3221
  timezone?: string;
2678
3222
  };
2679
3223
 
3224
+ primarySite?: Record<string, unknown>;
3225
+
2680
3226
  owner?: Record<string, unknown>;
2681
3227
 
2682
3228
  labels?: Record<string, unknown>[];
2683
3229
  /**
2684
- * Detailed description
3230
+ * Additional notes or comments
2685
3231
  */
2686
- description?: string;
3232
+ notes?: string;
2687
3233
  /**
2688
3234
  * Custom fields as key-value pairs — validated against tenant field definitions
2689
3235
  */
2690
3236
  customFields?: Record<string, unknown>;
2691
3237
 
3238
+ socialNetwork?: { facebook?: string; twitter?: string; linkedin?: string; instagram?: string };
3239
+
2692
3240
  zones?: Record<string, unknown>[];
2693
3241
 
2694
3242
  companies?: Record<string, unknown>[];
@@ -2706,87 +3254,215 @@ export interface WorkBuddyCrmContractorsUpdateParams extends WorkBuddyRequestPar
2706
3254
  pricebook?: Record<string, unknown>;
2707
3255
  }
2708
3256
 
2709
- export interface WorkBuddyCrmSuppliersListParams extends WorkBuddyRequestParams {
2710
- cursor?: string;
2711
-
2712
- limit?: number;
2713
- }
2714
-
2715
- export interface WorkBuddyCrmSuppliersCreateParams extends WorkBuddyRequestParams {
3257
+ export interface WorkBuddyCrmContractorsDeleteParams extends WorkBuddyRequestParams {
2716
3258
  /**
2717
- * Display name
3259
+ * Contractor ID or integration ID
2718
3260
  */
2719
- name: string;
3261
+ id: string;
3262
+ }
2720
3263
 
2721
- legalName?: string;
3264
+ export interface WorkBuddyCrmContractorsStatusUpdateStatusParams extends WorkBuddyRequestParams {
2722
3265
  /**
2723
- * Phone number
3266
+ * Contractor ID or integration ID
2724
3267
  */
2725
- phone?: string;
3268
+ id: string;
2726
3269
  /**
2727
- * Email address
3270
+ * status ID
2728
3271
  */
2729
- email?: string;
3272
+ statusId: string;
2730
3273
 
2731
- website?: string;
3274
+ note?: string;
3275
+ }
3276
+
3277
+ export interface WorkBuddyCrmContractorsContactsListParams extends WorkBuddyRequestParams {
2732
3278
  /**
2733
- * integration ID
3279
+ * Contractor ID
2734
3280
  */
2735
- integrationId?: string;
3281
+ contractorId: string;
2736
3282
 
2737
- address: {
2738
- name?: string;
2739
- street1?: string;
2740
- street2?: string;
2741
- suburb?: string;
2742
- state?: string;
2743
- postalCode?: string;
2744
- postcode?: string;
2745
- country?: string;
2746
- lat?: number;
2747
- lgn?: number;
2748
- timezone?: string;
2749
- };
3283
+ cursor?: string;
3284
+
3285
+ limit?: number;
3286
+ }
3287
+
3288
+ export interface WorkBuddyCrmContractorsContactsCreateContactParams extends WorkBuddyRequestParams {
2750
3289
  /**
2751
- * Inline contact object — alternative to contactId
3290
+ * Contractor ID
2752
3291
  */
2753
- contact: { firstName: string; lastName: string; mobile?: string; email?: string; title?: string; note?: string };
3292
+ contractorId: string;
2754
3293
  /**
2755
- * Custom fields as key-value pairs — validated against tenant field definitions
3294
+ * First name
2756
3295
  */
2757
- customFields?: Record<string, unknown>;
3296
+ firstName: string;
2758
3297
  /**
2759
- * tax ID
3298
+ * Last name
2760
3299
  */
2761
- taxId?: string;
2762
- }
2763
-
2764
- export interface WorkBuddyCrmSuppliersGetParams extends WorkBuddyRequestParams {
3300
+ lastName: string;
2765
3301
  /**
2766
- * Supplier ID or integration ID
3302
+ * Email address. Required when login is true.
2767
3303
  */
2768
- id: string;
2769
- }
2770
-
2771
- export interface WorkBuddyCrmSuppliersUpdateParams extends WorkBuddyRequestParams {
3304
+ email?: string;
2772
3305
  /**
2773
- * Supplier ID or integration ID
3306
+ * Phone
2774
3307
  */
2775
- id: string;
3308
+ phone?: string;
2776
3309
  /**
2777
- * Display name
3310
+ * Mobile
2778
3311
  */
2779
- name?: string;
2780
-
2781
- legalName?: string;
3312
+ mobile?: string;
2782
3313
  /**
2783
- * Phone number
3314
+ * Job title
2784
3315
  */
2785
- phone?: string;
3316
+ title?: string;
2786
3317
  /**
2787
- * Email address
3318
+ * Note
2788
3319
  */
2789
- email?: string;
3320
+ note?: string;
3321
+ /**
3322
+ * External integration identifier
3323
+ */
3324
+ integrationId?: string;
3325
+ /**
3326
+ * false = basic contact. true = external user with portal login (requires email and roleId).
3327
+ */
3328
+ login: boolean;
3329
+ /**
3330
+ * Portal security role id. Required when login is true. List via GET /settings/roles/client-portal or /settings/roles/contractor-portal.
3331
+ */
3332
+ roleId?: string;
3333
+ /**
3334
+ * Send invite email when login is true. Default true.
3335
+ */
3336
+ sendEmail?: boolean;
3337
+ /**
3338
+ * Automatically dispatch when contractor is assigned. Only for external users under a contractor.
3339
+ */
3340
+ autoDispatch?: boolean;
3341
+ }
3342
+
3343
+ export interface WorkBuddyCrmContractorsContactsDeleteContactParams extends WorkBuddyRequestParams {
3344
+ /**
3345
+ * Contractor ID
3346
+ */
3347
+ contractorId: string;
3348
+ /**
3349
+ * Contact ID
3350
+ */
3351
+ contactId: string;
3352
+ }
3353
+
3354
+ export interface WorkBuddyCrmContractorsContactsInviteInviteContactParams extends WorkBuddyRequestParams {
3355
+ /**
3356
+ * Contractor ID
3357
+ */
3358
+ contractorId: string;
3359
+ /**
3360
+ * Contact ID
3361
+ */
3362
+ contactId: string;
3363
+ /**
3364
+ * Email address
3365
+ */
3366
+ email?: string;
3367
+ /**
3368
+ * role ID
3369
+ */
3370
+ roleId: string;
3371
+
3372
+ sendEmail?: boolean;
3373
+ }
3374
+
3375
+ export interface WorkBuddyCrmSuppliersListParams extends WorkBuddyRequestParams {
3376
+ /**
3377
+ * Search by name, phone, email or legal name
3378
+ */
3379
+ search?: string;
3380
+
3381
+ cursor?: string;
3382
+
3383
+ limit?: number;
3384
+ }
3385
+
3386
+ export interface WorkBuddyCrmSuppliersCreateParams extends WorkBuddyRequestParams {
3387
+ /**
3388
+ * Display name
3389
+ */
3390
+ name: string;
3391
+
3392
+ legalName?: string;
3393
+ /**
3394
+ * Phone number
3395
+ */
3396
+ phone?: string;
3397
+ /**
3398
+ * Email address
3399
+ */
3400
+ email?: string;
3401
+
3402
+ website?: string;
3403
+ /**
3404
+ * integration ID
3405
+ */
3406
+ integrationId?: string;
3407
+
3408
+ address: {
3409
+ name?: string;
3410
+ street1?: string;
3411
+ street2?: string;
3412
+ suburb?: string;
3413
+ state?: string;
3414
+ postalCode?: string;
3415
+ country?: string;
3416
+ lat?: number;
3417
+ lgn?: number;
3418
+ timezone?: string;
3419
+ };
3420
+ /**
3421
+ * Inline contact object — alternative to contactId
3422
+ */
3423
+ contact: { firstName: string; lastName: string; mobile?: string; email?: string; title?: string; note?: string };
3424
+ /**
3425
+ * Additional notes or comments
3426
+ */
3427
+ notes?: string;
3428
+ /**
3429
+ * Custom fields as key-value pairs — validated against tenant field definitions
3430
+ */
3431
+ customFields?: Record<string, unknown>;
3432
+
3433
+ socialNetwork?: { facebook?: string; twitter?: string; linkedin?: string; instagram?: string };
3434
+ /**
3435
+ * tax ID
3436
+ */
3437
+ taxId?: string;
3438
+ }
3439
+
3440
+ export interface WorkBuddyCrmSuppliersGetParams extends WorkBuddyRequestParams {
3441
+ /**
3442
+ * Supplier ID or integration ID
3443
+ */
3444
+ id: string;
3445
+ }
3446
+
3447
+ export interface WorkBuddyCrmSuppliersUpdateParams extends WorkBuddyRequestParams {
3448
+ /**
3449
+ * Supplier ID or integration ID
3450
+ */
3451
+ id: string;
3452
+ /**
3453
+ * Display name
3454
+ */
3455
+ name?: string;
3456
+
3457
+ legalName?: string;
3458
+ /**
3459
+ * Phone number
3460
+ */
3461
+ phone?: string;
3462
+ /**
3463
+ * Email address
3464
+ */
3465
+ email?: string;
2790
3466
 
2791
3467
  website?: string;
2792
3468
  /**
@@ -2801,25 +3477,28 @@ export interface WorkBuddyCrmSuppliersUpdateParams extends WorkBuddyRequestParam
2801
3477
  suburb?: string;
2802
3478
  state?: string;
2803
3479
  postalCode?: string;
2804
- postcode?: string;
2805
3480
  country?: string;
2806
3481
  lat?: number;
2807
3482
  lgn?: number;
2808
3483
  timezone?: string;
2809
3484
  };
2810
3485
 
3486
+ primarySite?: Record<string, unknown>;
3487
+
2811
3488
  owner?: Record<string, unknown>;
2812
3489
 
2813
3490
  labels?: Record<string, unknown>[];
2814
3491
  /**
2815
- * Detailed description
3492
+ * Additional notes or comments
2816
3493
  */
2817
- description?: string;
3494
+ notes?: string;
2818
3495
  /**
2819
3496
  * Custom fields as key-value pairs — validated against tenant field definitions
2820
3497
  */
2821
3498
  customFields?: Record<string, unknown>;
2822
3499
 
3500
+ socialNetwork?: { facebook?: string; twitter?: string; linkedin?: string; instagram?: string };
3501
+
2823
3502
  zones?: Record<string, unknown>[];
2824
3503
 
2825
3504
  workCategories?: Record<string, unknown>[];
@@ -2841,7 +3520,32 @@ export interface WorkBuddyCrmSuppliersUpdateParams extends WorkBuddyRequestParam
2841
3520
  billTheme?: Record<string, unknown>;
2842
3521
  }
2843
3522
 
3523
+ export interface WorkBuddyCrmSuppliersDeleteParams extends WorkBuddyRequestParams {
3524
+ /**
3525
+ * Supplier ID or integration ID
3526
+ */
3527
+ id: string;
3528
+ }
3529
+
3530
+ export interface WorkBuddyCrmSuppliersStatusUpdateStatusParams extends WorkBuddyRequestParams {
3531
+ /**
3532
+ * Supplier ID or integration ID
3533
+ */
3534
+ id: string;
3535
+ /**
3536
+ * status ID
3537
+ */
3538
+ statusId: string;
3539
+
3540
+ note?: string;
3541
+ }
3542
+
2844
3543
  export interface WorkBuddyCrmCompaniesListParams extends WorkBuddyRequestParams {
3544
+ /**
3545
+ * Search by name, phone, email or legal name
3546
+ */
3547
+ search?: string;
3548
+
2845
3549
  cursor?: string;
2846
3550
 
2847
3551
  limit?: number;
@@ -2880,7 +3584,58 @@ export interface WorkBuddyCrmContactsGetParams extends WorkBuddyRequestParams {
2880
3584
  id: string;
2881
3585
  }
2882
3586
 
3587
+ export interface WorkBuddyCrmContactsUpdateParams extends WorkBuddyRequestParams {
3588
+ /**
3589
+ * Contact ID
3590
+ */
3591
+ id: string;
3592
+
3593
+ firstName?: string;
3594
+
3595
+ lastName?: string;
3596
+ /**
3597
+ * Email address
3598
+ */
3599
+ email?: string;
3600
+ /**
3601
+ * Phone number
3602
+ */
3603
+ phone?: string;
3604
+ /**
3605
+ * Mobile phone number
3606
+ */
3607
+ mobile?: string;
3608
+
3609
+ title?: string;
3610
+
3611
+ note?: string;
3612
+ /**
3613
+ * integration ID
3614
+ */
3615
+ integrationId?: string;
3616
+
3617
+ autoDispatch?: boolean;
3618
+ }
3619
+
3620
+ export interface WorkBuddyCrmContactsStatusUpdateStatusParams extends WorkBuddyRequestParams {
3621
+ /**
3622
+ * Contact ID
3623
+ */
3624
+ id: string;
3625
+ /**
3626
+ * status ID
3627
+ */
3628
+ statusId: string;
3629
+
3630
+ note?: string;
3631
+ }
3632
+
2883
3633
  export interface WorkBuddyCrmInvitesListParams extends WorkBuddyRequestParams {
3634
+ /**
3635
+ * Search by name, phone, email (token prefix match)
3636
+ */
3637
+ search?: string;
3638
+
2884
3639
  cursor?: string;
2885
3640
 
2886
3641
  limit?: number;
@@ -2894,6 +3649,10 @@ export interface WorkBuddyCrmInvitesGetParams extends WorkBuddyRequestParams {
2894
3649
  }
2895
3650
 
2896
3651
  export interface WorkBuddyCrmSitesListParams extends WorkBuddyRequestParams {
3652
+ /**
3653
+ * Search by name/address (space-separated words; all must match as token prefixes)
3654
+ */
3655
+ search?: string;
2897
3656
  /**
2898
3657
  * Filter by status (e.g. Active, Inactive). Default: Active only
2899
3658
  */
@@ -2911,6 +3670,17 @@ export interface WorkBuddyCrmSitesGetParams extends WorkBuddyRequestParams {
2911
3670
  id: string;
2912
3671
  }
2913
3672
 
3673
+ export interface WorkBuddyCrmSitesContactsListParams extends WorkBuddyRequestParams {
3674
+ /**
3675
+ * Site ID
3676
+ */
3677
+ id: string;
3678
+
3679
+ cursor?: string;
3680
+
3681
+ limit?: number;
3682
+ }
3683
+
2914
3684
  export interface WorkBuddyWebhooksEntitiesListParams extends WorkBuddyRequestParams {}
2915
3685
 
2916
3686
  export interface WorkBuddyWebhooksEntitiesEventsListParams extends WorkBuddyRequestParams {
@@ -3128,12 +3898,11 @@ export type WorkBuddyJobsSearchResponse = {
3128
3898
  jobId: string;
3129
3899
  job?: { id: string; jobNumber: string; description?: string };
3130
3900
  name?: string;
3131
- description?: string;
3132
3901
  status: { id?: string; name?: string; systemStatus: string };
3133
- sequence?: number;
3902
+ sequence?: string;
3134
3903
  owner?: string;
3135
3904
  contractor?: string;
3136
- technician?: string;
3905
+ pricebook?: string;
3137
3906
  resources?: string;
3138
3907
  startDate?: string;
3139
3908
  dueDate?: string;
@@ -3141,7 +3910,6 @@ export type WorkBuddyJobsSearchResponse = {
3141
3910
  completedBy?: string;
3142
3911
  completedNote?: string;
3143
3912
  finalisedDate?: string;
3144
- notes?: string;
3145
3913
  tags?: string;
3146
3914
  systemTags?: string;
3147
3915
  schedulingTags?: string;
@@ -3149,11 +3917,14 @@ export type WorkBuddyJobsSearchResponse = {
3149
3917
  id: string;
3150
3918
  jobId: string;
3151
3919
  stageId: string;
3920
+ integrationId?: string;
3152
3921
  code?: string;
3153
3922
  description: string;
3154
3923
  type?: string;
3155
3924
  quantity: number;
3156
3925
  unit?: string;
3926
+ location?: string;
3927
+ note?: string;
3157
3928
  status?: string;
3158
3929
  buyPrice?: number;
3159
3930
  sellPrice?: number;
@@ -3208,12 +3979,11 @@ export type WorkBuddyJobsGetResponse = {
3208
3979
  jobId: string;
3209
3980
  job?: { id: string; jobNumber: string; description?: string };
3210
3981
  name?: string;
3211
- description?: string;
3212
3982
  status: { id?: string; name?: string; systemStatus: string };
3213
- sequence?: number;
3983
+ sequence?: string;
3214
3984
  owner?: string;
3215
3985
  contractor?: string;
3216
- technician?: string;
3986
+ pricebook?: string;
3217
3987
  resources?: string;
3218
3988
  startDate?: string;
3219
3989
  dueDate?: string;
@@ -3221,7 +3991,6 @@ export type WorkBuddyJobsGetResponse = {
3221
3991
  completedBy?: string;
3222
3992
  completedNote?: string;
3223
3993
  finalisedDate?: string;
3224
- notes?: string;
3225
3994
  tags?: string;
3226
3995
  systemTags?: string;
3227
3996
  schedulingTags?: string;
@@ -3229,11 +3998,14 @@ export type WorkBuddyJobsGetResponse = {
3229
3998
  id: string;
3230
3999
  jobId: string;
3231
4000
  stageId: string;
4001
+ integrationId?: string;
3232
4002
  code?: string;
3233
4003
  description: string;
3234
4004
  type?: string;
3235
4005
  quantity: number;
3236
4006
  unit?: string;
4007
+ location?: string;
4008
+ note?: string;
3237
4009
  status?: string;
3238
4010
  buyPrice?: number;
3239
4011
  sellPrice?: number;
@@ -3287,12 +4059,11 @@ export type WorkBuddyJobsCreateResponse = {
3287
4059
  jobId: string;
3288
4060
  job?: { id: string; jobNumber: string; description?: string };
3289
4061
  name?: string;
3290
- description?: string;
3291
4062
  status: { id?: string; name?: string; systemStatus: string };
3292
- sequence?: number;
4063
+ sequence?: string;
3293
4064
  owner?: string;
3294
4065
  contractor?: string;
3295
- technician?: string;
4066
+ pricebook?: string;
3296
4067
  resources?: string;
3297
4068
  startDate?: string;
3298
4069
  dueDate?: string;
@@ -3300,7 +4071,6 @@ export type WorkBuddyJobsCreateResponse = {
3300
4071
  completedBy?: string;
3301
4072
  completedNote?: string;
3302
4073
  finalisedDate?: string;
3303
- notes?: string;
3304
4074
  tags?: string;
3305
4075
  systemTags?: string;
3306
4076
  schedulingTags?: string;
@@ -3308,11 +4078,14 @@ export type WorkBuddyJobsCreateResponse = {
3308
4078
  id: string;
3309
4079
  jobId: string;
3310
4080
  stageId: string;
4081
+ integrationId?: string;
3311
4082
  code?: string;
3312
4083
  description: string;
3313
4084
  type?: string;
3314
4085
  quantity: number;
3315
4086
  unit?: string;
4087
+ location?: string;
4088
+ note?: string;
3316
4089
  status?: string;
3317
4090
  buyPrice?: number;
3318
4091
  sellPrice?: number;
@@ -3333,7 +4106,7 @@ export type WorkBuddyJobsCreateResponse = {
3333
4106
  createdAt: string;
3334
4107
  updatedAt: string;
3335
4108
  };
3336
- export type WorkBuddyJobsUpdateResponse = {
4109
+ export type WorkBuddyJobsTemplateCreateFromTemplateResponse = {
3337
4110
  id: string;
3338
4111
  integrationId?: string;
3339
4112
  jobNumber: string;
@@ -3365,12 +4138,11 @@ export type WorkBuddyJobsUpdateResponse = {
3365
4138
  jobId: string;
3366
4139
  job?: { id: string; jobNumber: string; description?: string };
3367
4140
  name?: string;
3368
- description?: string;
3369
4141
  status: { id?: string; name?: string; systemStatus: string };
3370
- sequence?: number;
4142
+ sequence?: string;
3371
4143
  owner?: string;
3372
4144
  contractor?: string;
3373
- technician?: string;
4145
+ pricebook?: string;
3374
4146
  resources?: string;
3375
4147
  startDate?: string;
3376
4148
  dueDate?: string;
@@ -3378,7 +4150,6 @@ export type WorkBuddyJobsUpdateResponse = {
3378
4150
  completedBy?: string;
3379
4151
  completedNote?: string;
3380
4152
  finalisedDate?: string;
3381
- notes?: string;
3382
4153
  tags?: string;
3383
4154
  systemTags?: string;
3384
4155
  schedulingTags?: string;
@@ -3386,11 +4157,14 @@ export type WorkBuddyJobsUpdateResponse = {
3386
4157
  id: string;
3387
4158
  jobId: string;
3388
4159
  stageId: string;
4160
+ integrationId?: string;
3389
4161
  code?: string;
3390
4162
  description: string;
3391
4163
  type?: string;
3392
4164
  quantity: number;
3393
4165
  unit?: string;
4166
+ location?: string;
4167
+ note?: string;
3394
4168
  status?: string;
3395
4169
  buyPrice?: number;
3396
4170
  sellPrice?: number;
@@ -3411,7 +4185,7 @@ export type WorkBuddyJobsUpdateResponse = {
3411
4185
  createdAt: string;
3412
4186
  updatedAt: string;
3413
4187
  };
3414
- export type WorkBuddyJobsDispatchResponse = {
4188
+ export type WorkBuddyJobsStatusUpdateStatusResponse = {
3415
4189
  id: string;
3416
4190
  integrationId?: string;
3417
4191
  jobNumber: string;
@@ -3443,12 +4217,11 @@ export type WorkBuddyJobsDispatchResponse = {
3443
4217
  jobId: string;
3444
4218
  job?: { id: string; jobNumber: string; description?: string };
3445
4219
  name?: string;
3446
- description?: string;
3447
4220
  status: { id?: string; name?: string; systemStatus: string };
3448
- sequence?: number;
4221
+ sequence?: string;
3449
4222
  owner?: string;
3450
4223
  contractor?: string;
3451
- technician?: string;
4224
+ pricebook?: string;
3452
4225
  resources?: string;
3453
4226
  startDate?: string;
3454
4227
  dueDate?: string;
@@ -3456,7 +4229,6 @@ export type WorkBuddyJobsDispatchResponse = {
3456
4229
  completedBy?: string;
3457
4230
  completedNote?: string;
3458
4231
  finalisedDate?: string;
3459
- notes?: string;
3460
4232
  tags?: string;
3461
4233
  systemTags?: string;
3462
4234
  schedulingTags?: string;
@@ -3464,11 +4236,14 @@ export type WorkBuddyJobsDispatchResponse = {
3464
4236
  id: string;
3465
4237
  jobId: string;
3466
4238
  stageId: string;
4239
+ integrationId?: string;
3467
4240
  code?: string;
3468
4241
  description: string;
3469
4242
  type?: string;
3470
4243
  quantity: number;
3471
4244
  unit?: string;
4245
+ location?: string;
4246
+ note?: string;
3472
4247
  status?: string;
3473
4248
  buyPrice?: number;
3474
4249
  sellPrice?: number;
@@ -3489,36 +4264,496 @@ export type WorkBuddyJobsDispatchResponse = {
3489
4264
  createdAt: string;
3490
4265
  updatedAt: string;
3491
4266
  };
3492
- export type WorkBuddyJobsStagesListResponse = {
3493
- items: {
4267
+ export type WorkBuddyJobsUpdateResponse = {
4268
+ id: string;
4269
+ integrationId?: string;
4270
+ jobNumber: string;
4271
+ name?: string;
4272
+ description: string;
4273
+ status: { id?: string; name?: string; systemStatus: string };
4274
+ customer: { id: string; name: string };
4275
+ site?: string;
4276
+ contact?: string;
4277
+ customerSupervisor?: string;
4278
+ type?: string;
4279
+ priority?: string;
4280
+ owner?: string;
4281
+ fieldSupervisor?: string;
4282
+ zones?: { id: string; name: string }[];
4283
+ tags?: { id: string; name: string; color?: string }[];
4284
+ systemTags?: { id: string; name: string; color?: string }[];
4285
+ notes?: string;
4286
+ reference?: string;
4287
+ customerWO?: string;
4288
+ customerPO?: string;
4289
+ priceBook?: string;
4290
+ billingCompany?: string;
4291
+ policy?: string;
4292
+ thresholds?: string;
4293
+ stages?: {
3494
4294
  id: string;
3495
4295
  stageNumber: string;
3496
4296
  jobId: string;
4297
+ job?: { id: string; jobNumber: string; description?: string };
3497
4298
  name?: string;
3498
- description?: string;
3499
4299
  status: { id?: string; name?: string; systemStatus: string };
3500
- sequence?: number;
4300
+ sequence?: string;
4301
+ owner?: string;
3501
4302
  contractor?: string;
3502
- technician?: string;
4303
+ pricebook?: string;
4304
+ resources?: string;
3503
4305
  startDate?: string;
3504
4306
  dueDate?: string;
3505
- createdAt: string;
3506
- updatedAt: string;
3507
- }[];
3508
- pagination: { limit: number; hasMore: boolean; nextCursor: string };
3509
- };
3510
- export type WorkBuddyJobsStagesGetJobStageResponse = {
3511
- id: string;
3512
- stageNumber: string;
4307
+ completedDate?: string;
4308
+ completedBy?: string;
4309
+ completedNote?: string;
4310
+ finalisedDate?: string;
4311
+ tags?: string;
4312
+ systemTags?: string;
4313
+ schedulingTags?: string;
4314
+ items?: {
4315
+ id: string;
4316
+ jobId: string;
4317
+ stageId: string;
4318
+ integrationId?: string;
4319
+ code?: string;
4320
+ description: string;
4321
+ type?: string;
4322
+ quantity: number;
4323
+ unit?: string;
4324
+ location?: string;
4325
+ note?: string;
4326
+ status?: string;
4327
+ buyPrice?: number;
4328
+ sellPrice?: number;
4329
+ invoicingStatus?: string;
4330
+ suppliedBySubcontractor: boolean;
4331
+ createdAt: string;
4332
+ updatedAt: string;
4333
+ }[];
4334
+ totals?: { sellTotal: number; buyTotal: number };
4335
+ customFields?: string;
4336
+ createdAt: string;
4337
+ updatedAt: string;
4338
+ }[];
4339
+ totals?: { sellTotal: number; buyTotal: number };
4340
+ customFields?: string;
4341
+ dueDate?: string;
4342
+ startDate?: string;
4343
+ createdAt: string;
4344
+ updatedAt: string;
4345
+ };
4346
+ export type WorkBuddyJobsDispatchResponse = {
4347
+ id: string;
4348
+ integrationId?: string;
4349
+ jobNumber: string;
4350
+ name?: string;
4351
+ description: string;
4352
+ status: { id?: string; name?: string; systemStatus: string };
4353
+ customer: { id: string; name: string };
4354
+ site?: string;
4355
+ contact?: string;
4356
+ customerSupervisor?: string;
4357
+ type?: string;
4358
+ priority?: string;
4359
+ owner?: string;
4360
+ fieldSupervisor?: string;
4361
+ zones?: { id: string; name: string }[];
4362
+ tags?: { id: string; name: string; color?: string }[];
4363
+ systemTags?: { id: string; name: string; color?: string }[];
4364
+ notes?: string;
4365
+ reference?: string;
4366
+ customerWO?: string;
4367
+ customerPO?: string;
4368
+ priceBook?: string;
4369
+ billingCompany?: string;
4370
+ policy?: string;
4371
+ thresholds?: string;
4372
+ stages?: {
4373
+ id: string;
4374
+ stageNumber: string;
4375
+ jobId: string;
4376
+ job?: { id: string; jobNumber: string; description?: string };
4377
+ name?: string;
4378
+ status: { id?: string; name?: string; systemStatus: string };
4379
+ sequence?: string;
4380
+ owner?: string;
4381
+ contractor?: string;
4382
+ pricebook?: string;
4383
+ resources?: string;
4384
+ startDate?: string;
4385
+ dueDate?: string;
4386
+ completedDate?: string;
4387
+ completedBy?: string;
4388
+ completedNote?: string;
4389
+ finalisedDate?: string;
4390
+ tags?: string;
4391
+ systemTags?: string;
4392
+ schedulingTags?: string;
4393
+ items?: {
4394
+ id: string;
4395
+ jobId: string;
4396
+ stageId: string;
4397
+ integrationId?: string;
4398
+ code?: string;
4399
+ description: string;
4400
+ type?: string;
4401
+ quantity: number;
4402
+ unit?: string;
4403
+ location?: string;
4404
+ note?: string;
4405
+ status?: string;
4406
+ buyPrice?: number;
4407
+ sellPrice?: number;
4408
+ invoicingStatus?: string;
4409
+ suppliedBySubcontractor: boolean;
4410
+ createdAt: string;
4411
+ updatedAt: string;
4412
+ }[];
4413
+ totals?: { sellTotal: number; buyTotal: number };
4414
+ customFields?: string;
4415
+ createdAt: string;
4416
+ updatedAt: string;
4417
+ }[];
4418
+ totals?: { sellTotal: number; buyTotal: number };
4419
+ customFields?: string;
4420
+ dueDate?: string;
4421
+ startDate?: string;
4422
+ createdAt: string;
4423
+ updatedAt: string;
4424
+ };
4425
+ export type WorkBuddyJobsStagesListResponse = {
4426
+ items: {
4427
+ id: string;
4428
+ stageNumber: string;
4429
+ jobId: string;
4430
+ name?: string;
4431
+ status: { id?: string; name?: string; systemStatus: string };
4432
+ sequence?: string;
4433
+ contractor?: string;
4434
+ pricebook?: string;
4435
+ startDate?: string;
4436
+ dueDate?: string;
4437
+ createdAt: string;
4438
+ updatedAt: string;
4439
+ }[];
4440
+ pagination: { limit: number; hasMore: boolean; nextCursor: string };
4441
+ };
4442
+ export type WorkBuddyJobsStagesGetJobStageResponse = {
4443
+ id: string;
4444
+ stageNumber: string;
4445
+ jobId: string;
4446
+ job?: { id: string; jobNumber: string; description?: string };
4447
+ name?: string;
4448
+ status: { id?: string; name?: string; systemStatus: string };
4449
+ sequence?: string;
4450
+ owner?: string;
4451
+ contractor?: string;
4452
+ pricebook?: string;
4453
+ resources?: string;
4454
+ startDate?: string;
4455
+ dueDate?: string;
4456
+ completedDate?: string;
4457
+ completedBy?: string;
4458
+ completedNote?: string;
4459
+ finalisedDate?: string;
4460
+ tags?: string;
4461
+ systemTags?: string;
4462
+ schedulingTags?: string;
4463
+ items?: {
4464
+ id: string;
4465
+ jobId: string;
4466
+ stageId: string;
4467
+ integrationId?: string;
4468
+ code?: string;
4469
+ description: string;
4470
+ type?: string;
4471
+ quantity: number;
4472
+ unit?: string;
4473
+ location?: string;
4474
+ note?: string;
4475
+ status?: string;
4476
+ buyPrice?: number;
4477
+ sellPrice?: number;
4478
+ invoicingStatus?: string;
4479
+ suppliedBySubcontractor: boolean;
4480
+ createdAt: string;
4481
+ updatedAt: string;
4482
+ }[];
4483
+ totals?: { sellTotal: number; buyTotal: number };
4484
+ customFields?: string;
4485
+ createdAt: string;
4486
+ updatedAt: string;
4487
+ };
4488
+ export type WorkBuddyJobsStagesItemsListResponse = {
4489
+ items: {
4490
+ id: string;
4491
+ jobId: string;
4492
+ stageId: string;
4493
+ integrationId?: string;
4494
+ code?: string;
4495
+ description: string;
4496
+ type?: string;
4497
+ quantity: number;
4498
+ unit?: string;
4499
+ location?: string;
4500
+ note?: string;
4501
+ status?: string;
4502
+ buyPrice?: number;
4503
+ sellPrice?: number;
4504
+ invoicingStatus?: string;
4505
+ suppliedBySubcontractor: boolean;
4506
+ createdAt: string;
4507
+ updatedAt: string;
4508
+ }[];
4509
+ pagination: { limit: number; hasMore: boolean; nextCursor: string };
4510
+ };
4511
+ export type WorkBuddyJobsStagesItemsCreateStageItemsResponse = {
4512
+ items: {
4513
+ id: string;
4514
+ jobId: string;
4515
+ stageId: string;
4516
+ integrationId?: string;
4517
+ code?: string;
4518
+ description: string;
4519
+ type?: string;
4520
+ quantity: number;
4521
+ unit?: string;
4522
+ location?: string;
4523
+ note?: string;
4524
+ status?: string;
4525
+ buyPrice?: number;
4526
+ sellPrice?: number;
4527
+ invoicingStatus?: string;
4528
+ suppliedBySubcontractor: boolean;
4529
+ createdAt: string;
4530
+ updatedAt: string;
4531
+ }[];
4532
+ };
4533
+ export type WorkBuddyJobsStagesItemsGetStageItemResponse = {
4534
+ id: string;
4535
+ jobId: string;
4536
+ stageId: string;
4537
+ integrationId?: string;
4538
+ code?: string;
4539
+ description: string;
4540
+ type?: string;
4541
+ quantity: number;
4542
+ unit?: string;
4543
+ location?: string;
4544
+ note?: string;
4545
+ status?: string;
4546
+ buyPrice?: number;
4547
+ sellPrice?: number;
4548
+ invoicingStatus?: string;
4549
+ suppliedBySubcontractor: boolean;
4550
+ createdAt: string;
4551
+ updatedAt: string;
4552
+ };
4553
+ export type WorkBuddyJobsStagesItemsUpdateStageItemResponse = {
4554
+ id: string;
4555
+ jobId: string;
4556
+ stageId: string;
4557
+ integrationId?: string;
4558
+ code?: string;
4559
+ description: string;
4560
+ type?: string;
4561
+ quantity: number;
4562
+ unit?: string;
4563
+ location?: string;
4564
+ note?: string;
4565
+ status?: string;
4566
+ buyPrice?: number;
4567
+ sellPrice?: number;
4568
+ invoicingStatus?: string;
4569
+ suppliedBySubcontractor: boolean;
4570
+ createdAt: string;
4571
+ updatedAt: string;
4572
+ };
4573
+ export type WorkBuddyJobsStagesItemsDeleteStageItemResponse = { deleted?: boolean };
4574
+ export type WorkBuddyItemsListResponse = {
4575
+ items: {
4576
+ id: string;
4577
+ jobId: string;
4578
+ stageId: string;
4579
+ integrationId?: string;
4580
+ code?: string;
4581
+ description: string;
4582
+ type?: string;
4583
+ quantity: number;
4584
+ unit?: string;
4585
+ location?: string;
4586
+ note?: string;
4587
+ status?: string;
4588
+ buyPrice?: number;
4589
+ sellPrice?: number;
4590
+ invoicingStatus?: string;
4591
+ suppliedBySubcontractor: boolean;
4592
+ createdAt: string;
4593
+ updatedAt: string;
4594
+ }[];
4595
+ pagination: { limit: number; hasMore: boolean; nextCursor: string };
4596
+ };
4597
+ export type WorkBuddyPendingItemsListResponse = {
4598
+ items: {
4599
+ id: string;
4600
+ jobId: string;
4601
+ stageId: string;
4602
+ integrationId?: string;
4603
+ code?: string;
4604
+ description: string;
4605
+ type?: string;
4606
+ quantity: number;
4607
+ unit?: string;
4608
+ location?: string;
4609
+ note?: string;
4610
+ itemStatus: { id: string; name: string };
4611
+ buyPrice?: number;
4612
+ sellPrice?: number;
4613
+ invoicingStatus?: string;
4614
+ suppliedBySubcontractor: boolean;
4615
+ createdAt: string;
4616
+ updatedAt: string;
4617
+ }[];
4618
+ pagination: { limit: number; hasMore: boolean; nextCursor: string };
4619
+ };
4620
+ export type WorkBuddyJobsStagesPendingItemsListResponse = {
4621
+ items: {
4622
+ id: string;
4623
+ jobId: string;
4624
+ stageId: string;
4625
+ integrationId?: string;
4626
+ code?: string;
4627
+ description: string;
4628
+ type?: string;
4629
+ quantity: number;
4630
+ unit?: string;
4631
+ location?: string;
4632
+ note?: string;
4633
+ itemStatus: { id: string; name: string };
4634
+ buyPrice?: number;
4635
+ sellPrice?: number;
4636
+ invoicingStatus?: string;
4637
+ suppliedBySubcontractor: boolean;
4638
+ createdAt: string;
4639
+ updatedAt: string;
4640
+ }[];
4641
+ pagination: { limit: number; hasMore: boolean; nextCursor: string };
4642
+ };
4643
+ export type WorkBuddyJobsStagesPendingItemsCreateResponse = {
4644
+ items: {
4645
+ id: string;
4646
+ jobId: string;
4647
+ stageId: string;
4648
+ integrationId?: string;
4649
+ code?: string;
4650
+ description: string;
4651
+ type?: string;
4652
+ quantity: number;
4653
+ unit?: string;
4654
+ location?: string;
4655
+ note?: string;
4656
+ itemStatus: { id: string; name: string };
4657
+ buyPrice?: number;
4658
+ sellPrice?: number;
4659
+ invoicingStatus?: string;
4660
+ suppliedBySubcontractor: boolean;
4661
+ createdAt: string;
4662
+ updatedAt: string;
4663
+ }[];
4664
+ };
4665
+ export type WorkBuddyJobsStagesPendingItemsGetResponse = {
4666
+ id: string;
4667
+ jobId: string;
4668
+ stageId: string;
4669
+ integrationId?: string;
4670
+ code?: string;
4671
+ description: string;
4672
+ type?: string;
4673
+ quantity: number;
4674
+ unit?: string;
4675
+ location?: string;
4676
+ note?: string;
4677
+ itemStatus: { id: string; name: string };
4678
+ buyPrice?: number;
4679
+ sellPrice?: number;
4680
+ invoicingStatus?: string;
4681
+ suppliedBySubcontractor: boolean;
4682
+ createdAt: string;
4683
+ updatedAt: string;
4684
+ };
4685
+ export type WorkBuddyJobsStagesPendingItemsUpdateResponse = {
4686
+ id: string;
4687
+ jobId: string;
4688
+ stageId: string;
4689
+ integrationId?: string;
4690
+ code?: string;
4691
+ description: string;
4692
+ type?: string;
4693
+ quantity: number;
4694
+ unit?: string;
4695
+ location?: string;
4696
+ note?: string;
4697
+ itemStatus: { id: string; name: string };
4698
+ buyPrice?: number;
4699
+ sellPrice?: number;
4700
+ invoicingStatus?: string;
4701
+ suppliedBySubcontractor: boolean;
4702
+ createdAt: string;
4703
+ updatedAt: string;
4704
+ };
4705
+ export type WorkBuddyJobsStagesPendingItemsDeleteResponse = { deleted: boolean };
4706
+ export type WorkBuddyJobsStagesPendingItemsStatusUpdateStatusResponse = {
4707
+ id: string;
4708
+ jobId: string;
4709
+ stageId: string;
4710
+ integrationId?: string;
4711
+ code?: string;
4712
+ description: string;
4713
+ type?: string;
4714
+ quantity: number;
4715
+ unit?: string;
4716
+ location?: string;
4717
+ note?: string;
4718
+ itemStatus: { id: string; name: string };
4719
+ buyPrice?: number;
4720
+ sellPrice?: number;
4721
+ invoicingStatus?: string;
4722
+ suppliedBySubcontractor: boolean;
4723
+ createdAt: string;
4724
+ updatedAt: string;
4725
+ };
4726
+ export type WorkBuddyJobsStagesPendingItemsApproveApproveResponse = {
4727
+ id: string;
4728
+ jobId: string;
4729
+ stageId: string;
4730
+ integrationId?: string;
4731
+ code?: string;
4732
+ description: string;
4733
+ type?: string;
4734
+ quantity: number;
4735
+ unit?: string;
4736
+ location?: string;
4737
+ note?: string;
4738
+ status?: string;
4739
+ buyPrice?: number;
4740
+ sellPrice?: number;
4741
+ invoicingStatus?: string;
4742
+ suppliedBySubcontractor: boolean;
4743
+ createdAt: string;
4744
+ updatedAt: string;
4745
+ };
4746
+ export type WorkBuddyStagesCreateResponse = {
4747
+ id: string;
4748
+ stageNumber: string;
3513
4749
  jobId: string;
3514
4750
  job?: { id: string; jobNumber: string; description?: string };
3515
4751
  name?: string;
3516
- description?: string;
3517
4752
  status: { id?: string; name?: string; systemStatus: string };
3518
- sequence?: number;
4753
+ sequence?: string;
3519
4754
  owner?: string;
3520
4755
  contractor?: string;
3521
- technician?: string;
4756
+ pricebook?: string;
3522
4757
  resources?: string;
3523
4758
  startDate?: string;
3524
4759
  dueDate?: string;
@@ -3526,7 +4761,6 @@ export type WorkBuddyJobsStagesGetJobStageResponse = {
3526
4761
  completedBy?: string;
3527
4762
  completedNote?: string;
3528
4763
  finalisedDate?: string;
3529
- notes?: string;
3530
4764
  tags?: string;
3531
4765
  systemTags?: string;
3532
4766
  schedulingTags?: string;
@@ -3534,11 +4768,14 @@ export type WorkBuddyJobsStagesGetJobStageResponse = {
3534
4768
  id: string;
3535
4769
  jobId: string;
3536
4770
  stageId: string;
4771
+ integrationId?: string;
3537
4772
  code?: string;
3538
4773
  description: string;
3539
4774
  type?: string;
3540
4775
  quantity: number;
3541
4776
  unit?: string;
4777
+ location?: string;
4778
+ note?: string;
3542
4779
  status?: string;
3543
4780
  buyPrice?: number;
3544
4781
  sellPrice?: number;
@@ -3552,16 +4789,39 @@ export type WorkBuddyJobsStagesGetJobStageResponse = {
3552
4789
  createdAt: string;
3553
4790
  updatedAt: string;
3554
4791
  };
3555
- export type WorkBuddyJobsStagesItemsListResponse = {
3556
- items: {
4792
+ export type WorkBuddyStagesUpdateResponse = {
4793
+ id: string;
4794
+ stageNumber: string;
4795
+ jobId: string;
4796
+ job?: { id: string; jobNumber: string; description?: string };
4797
+ name?: string;
4798
+ status: { id?: string; name?: string; systemStatus: string };
4799
+ sequence?: string;
4800
+ owner?: string;
4801
+ contractor?: string;
4802
+ pricebook?: string;
4803
+ resources?: string;
4804
+ startDate?: string;
4805
+ dueDate?: string;
4806
+ completedDate?: string;
4807
+ completedBy?: string;
4808
+ completedNote?: string;
4809
+ finalisedDate?: string;
4810
+ tags?: string;
4811
+ systemTags?: string;
4812
+ schedulingTags?: string;
4813
+ items?: {
3557
4814
  id: string;
3558
4815
  jobId: string;
3559
4816
  stageId: string;
4817
+ integrationId?: string;
3560
4818
  code?: string;
3561
4819
  description: string;
3562
4820
  type?: string;
3563
4821
  quantity: number;
3564
4822
  unit?: string;
4823
+ location?: string;
4824
+ note?: string;
3565
4825
  status?: string;
3566
4826
  buyPrice?: number;
3567
4827
  sellPrice?: number;
@@ -3570,37 +4830,23 @@ export type WorkBuddyJobsStagesItemsListResponse = {
3570
4830
  createdAt: string;
3571
4831
  updatedAt: string;
3572
4832
  }[];
3573
- pagination: { limit: number; hasMore: boolean; nextCursor: string };
3574
- };
3575
- export type WorkBuddyJobsStagesItemsGetStageItemResponse = {
3576
- id: string;
3577
- jobId: string;
3578
- stageId: string;
3579
- code?: string;
3580
- description: string;
3581
- type?: string;
3582
- quantity: number;
3583
- unit?: string;
3584
- status?: string;
3585
- buyPrice?: number;
3586
- sellPrice?: number;
3587
- invoicingStatus?: string;
3588
- suppliedBySubcontractor: boolean;
4833
+ totals?: { sellTotal: number; buyTotal: number };
4834
+ customFields?: string;
3589
4835
  createdAt: string;
3590
4836
  updatedAt: string;
3591
4837
  };
3592
- export type WorkBuddyStagesCreateResponse = {
4838
+ export type WorkBuddyStagesDeleteResponse = { deleted?: boolean };
4839
+ export type WorkBuddyStagesDispatchResponse = {
3593
4840
  id: string;
3594
4841
  stageNumber: string;
3595
4842
  jobId: string;
3596
4843
  job?: { id: string; jobNumber: string; description?: string };
3597
4844
  name?: string;
3598
- description?: string;
3599
4845
  status: { id?: string; name?: string; systemStatus: string };
3600
- sequence?: number;
4846
+ sequence?: string;
3601
4847
  owner?: string;
3602
4848
  contractor?: string;
3603
- technician?: string;
4849
+ pricebook?: string;
3604
4850
  resources?: string;
3605
4851
  startDate?: string;
3606
4852
  dueDate?: string;
@@ -3608,7 +4854,6 @@ export type WorkBuddyStagesCreateResponse = {
3608
4854
  completedBy?: string;
3609
4855
  completedNote?: string;
3610
4856
  finalisedDate?: string;
3611
- notes?: string;
3612
4857
  tags?: string;
3613
4858
  systemTags?: string;
3614
4859
  schedulingTags?: string;
@@ -3616,11 +4861,14 @@ export type WorkBuddyStagesCreateResponse = {
3616
4861
  id: string;
3617
4862
  jobId: string;
3618
4863
  stageId: string;
4864
+ integrationId?: string;
3619
4865
  code?: string;
3620
4866
  description: string;
3621
4867
  type?: string;
3622
4868
  quantity: number;
3623
4869
  unit?: string;
4870
+ location?: string;
4871
+ note?: string;
3624
4872
  status?: string;
3625
4873
  buyPrice?: number;
3626
4874
  sellPrice?: number;
@@ -3634,18 +4882,17 @@ export type WorkBuddyStagesCreateResponse = {
3634
4882
  createdAt: string;
3635
4883
  updatedAt: string;
3636
4884
  };
3637
- export type WorkBuddyStagesUpdateResponse = {
4885
+ export type WorkBuddyStagesCompleteCompleteResponse = {
3638
4886
  id: string;
3639
4887
  stageNumber: string;
3640
4888
  jobId: string;
3641
4889
  job?: { id: string; jobNumber: string; description?: string };
3642
4890
  name?: string;
3643
- description?: string;
3644
4891
  status: { id?: string; name?: string; systemStatus: string };
3645
- sequence?: number;
4892
+ sequence?: string;
3646
4893
  owner?: string;
3647
4894
  contractor?: string;
3648
- technician?: string;
4895
+ pricebook?: string;
3649
4896
  resources?: string;
3650
4897
  startDate?: string;
3651
4898
  dueDate?: string;
@@ -3653,7 +4900,6 @@ export type WorkBuddyStagesUpdateResponse = {
3653
4900
  completedBy?: string;
3654
4901
  completedNote?: string;
3655
4902
  finalisedDate?: string;
3656
- notes?: string;
3657
4903
  tags?: string;
3658
4904
  systemTags?: string;
3659
4905
  schedulingTags?: string;
@@ -3661,11 +4907,14 @@ export type WorkBuddyStagesUpdateResponse = {
3661
4907
  id: string;
3662
4908
  jobId: string;
3663
4909
  stageId: string;
4910
+ integrationId?: string;
3664
4911
  code?: string;
3665
4912
  description: string;
3666
4913
  type?: string;
3667
4914
  quantity: number;
3668
4915
  unit?: string;
4916
+ location?: string;
4917
+ note?: string;
3669
4918
  status?: string;
3670
4919
  buyPrice?: number;
3671
4920
  sellPrice?: number;
@@ -3679,19 +4928,17 @@ export type WorkBuddyStagesUpdateResponse = {
3679
4928
  createdAt: string;
3680
4929
  updatedAt: string;
3681
4930
  };
3682
- export type WorkBuddyStagesDeleteResponse = { deleted?: boolean };
3683
- export type WorkBuddyStagesDispatchResponse = {
4931
+ export type WorkBuddyStagesInProgressInProgressResponse = {
3684
4932
  id: string;
3685
4933
  stageNumber: string;
3686
4934
  jobId: string;
3687
4935
  job?: { id: string; jobNumber: string; description?: string };
3688
4936
  name?: string;
3689
- description?: string;
3690
4937
  status: { id?: string; name?: string; systemStatus: string };
3691
- sequence?: number;
4938
+ sequence?: string;
3692
4939
  owner?: string;
3693
4940
  contractor?: string;
3694
- technician?: string;
4941
+ pricebook?: string;
3695
4942
  resources?: string;
3696
4943
  startDate?: string;
3697
4944
  dueDate?: string;
@@ -3699,7 +4946,6 @@ export type WorkBuddyStagesDispatchResponse = {
3699
4946
  completedBy?: string;
3700
4947
  completedNote?: string;
3701
4948
  finalisedDate?: string;
3702
- notes?: string;
3703
4949
  tags?: string;
3704
4950
  systemTags?: string;
3705
4951
  schedulingTags?: string;
@@ -3707,11 +4953,14 @@ export type WorkBuddyStagesDispatchResponse = {
3707
4953
  id: string;
3708
4954
  jobId: string;
3709
4955
  stageId: string;
4956
+ integrationId?: string;
3710
4957
  code?: string;
3711
4958
  description: string;
3712
4959
  type?: string;
3713
4960
  quantity: number;
3714
4961
  unit?: string;
4962
+ location?: string;
4963
+ note?: string;
3715
4964
  status?: string;
3716
4965
  buyPrice?: number;
3717
4966
  sellPrice?: number;
@@ -3725,18 +4974,17 @@ export type WorkBuddyStagesDispatchResponse = {
3725
4974
  createdAt: string;
3726
4975
  updatedAt: string;
3727
4976
  };
3728
- export type WorkBuddyStagesCompleteCompleteResponse = {
4977
+ export type WorkBuddyStagesFinaliseFinaliseResponse = {
3729
4978
  id: string;
3730
4979
  stageNumber: string;
3731
4980
  jobId: string;
3732
4981
  job?: { id: string; jobNumber: string; description?: string };
3733
4982
  name?: string;
3734
- description?: string;
3735
4983
  status: { id?: string; name?: string; systemStatus: string };
3736
- sequence?: number;
4984
+ sequence?: string;
3737
4985
  owner?: string;
3738
4986
  contractor?: string;
3739
- technician?: string;
4987
+ pricebook?: string;
3740
4988
  resources?: string;
3741
4989
  startDate?: string;
3742
4990
  dueDate?: string;
@@ -3744,7 +4992,6 @@ export type WorkBuddyStagesCompleteCompleteResponse = {
3744
4992
  completedBy?: string;
3745
4993
  completedNote?: string;
3746
4994
  finalisedDate?: string;
3747
- notes?: string;
3748
4995
  tags?: string;
3749
4996
  systemTags?: string;
3750
4997
  schedulingTags?: string;
@@ -3752,11 +4999,14 @@ export type WorkBuddyStagesCompleteCompleteResponse = {
3752
4999
  id: string;
3753
5000
  jobId: string;
3754
5001
  stageId: string;
5002
+ integrationId?: string;
3755
5003
  code?: string;
3756
5004
  description: string;
3757
5005
  type?: string;
3758
5006
  quantity: number;
3759
5007
  unit?: string;
5008
+ location?: string;
5009
+ note?: string;
3760
5010
  status?: string;
3761
5011
  buyPrice?: number;
3762
5012
  sellPrice?: number;
@@ -3770,18 +5020,17 @@ export type WorkBuddyStagesCompleteCompleteResponse = {
3770
5020
  createdAt: string;
3771
5021
  updatedAt: string;
3772
5022
  };
3773
- export type WorkBuddyStagesFinaliseFinaliseResponse = {
5023
+ export type WorkBuddyStagesCancelCancelResponse = {
3774
5024
  id: string;
3775
5025
  stageNumber: string;
3776
5026
  jobId: string;
3777
5027
  job?: { id: string; jobNumber: string; description?: string };
3778
5028
  name?: string;
3779
- description?: string;
3780
5029
  status: { id?: string; name?: string; systemStatus: string };
3781
- sequence?: number;
5030
+ sequence?: string;
3782
5031
  owner?: string;
3783
5032
  contractor?: string;
3784
- technician?: string;
5033
+ pricebook?: string;
3785
5034
  resources?: string;
3786
5035
  startDate?: string;
3787
5036
  dueDate?: string;
@@ -3789,7 +5038,6 @@ export type WorkBuddyStagesFinaliseFinaliseResponse = {
3789
5038
  completedBy?: string;
3790
5039
  completedNote?: string;
3791
5040
  finalisedDate?: string;
3792
- notes?: string;
3793
5041
  tags?: string;
3794
5042
  systemTags?: string;
3795
5043
  schedulingTags?: string;
@@ -3797,11 +5045,14 @@ export type WorkBuddyStagesFinaliseFinaliseResponse = {
3797
5045
  id: string;
3798
5046
  jobId: string;
3799
5047
  stageId: string;
5048
+ integrationId?: string;
3800
5049
  code?: string;
3801
5050
  description: string;
3802
5051
  type?: string;
3803
5052
  quantity: number;
3804
5053
  unit?: string;
5054
+ location?: string;
5055
+ note?: string;
3805
5056
  status?: string;
3806
5057
  buyPrice?: number;
3807
5058
  sellPrice?: number;
@@ -3815,18 +5066,17 @@ export type WorkBuddyStagesFinaliseFinaliseResponse = {
3815
5066
  createdAt: string;
3816
5067
  updatedAt: string;
3817
5068
  };
3818
- export type WorkBuddyStagesCancelCancelResponse = {
5069
+ export type WorkBuddyStagesOnHoldOnHoldResponse = {
3819
5070
  id: string;
3820
5071
  stageNumber: string;
3821
5072
  jobId: string;
3822
5073
  job?: { id: string; jobNumber: string; description?: string };
3823
5074
  name?: string;
3824
- description?: string;
3825
5075
  status: { id?: string; name?: string; systemStatus: string };
3826
- sequence?: number;
5076
+ sequence?: string;
3827
5077
  owner?: string;
3828
5078
  contractor?: string;
3829
- technician?: string;
5079
+ pricebook?: string;
3830
5080
  resources?: string;
3831
5081
  startDate?: string;
3832
5082
  dueDate?: string;
@@ -3834,7 +5084,6 @@ export type WorkBuddyStagesCancelCancelResponse = {
3834
5084
  completedBy?: string;
3835
5085
  completedNote?: string;
3836
5086
  finalisedDate?: string;
3837
- notes?: string;
3838
5087
  tags?: string;
3839
5088
  systemTags?: string;
3840
5089
  schedulingTags?: string;
@@ -3842,11 +5091,14 @@ export type WorkBuddyStagesCancelCancelResponse = {
3842
5091
  id: string;
3843
5092
  jobId: string;
3844
5093
  stageId: string;
5094
+ integrationId?: string;
3845
5095
  code?: string;
3846
5096
  description: string;
3847
5097
  type?: string;
3848
5098
  quantity: number;
3849
5099
  unit?: string;
5100
+ location?: string;
5101
+ note?: string;
3850
5102
  status?: string;
3851
5103
  buyPrice?: number;
3852
5104
  sellPrice?: number;
@@ -3866,12 +5118,11 @@ export type WorkBuddyStagesReverseReverseResponse = {
3866
5118
  jobId: string;
3867
5119
  job?: { id: string; jobNumber: string; description?: string };
3868
5120
  name?: string;
3869
- description?: string;
3870
5121
  status: { id?: string; name?: string; systemStatus: string };
3871
- sequence?: number;
5122
+ sequence?: string;
3872
5123
  owner?: string;
3873
5124
  contractor?: string;
3874
- technician?: string;
5125
+ pricebook?: string;
3875
5126
  resources?: string;
3876
5127
  startDate?: string;
3877
5128
  dueDate?: string;
@@ -3879,7 +5130,6 @@ export type WorkBuddyStagesReverseReverseResponse = {
3879
5130
  completedBy?: string;
3880
5131
  completedNote?: string;
3881
5132
  finalisedDate?: string;
3882
- notes?: string;
3883
5133
  tags?: string;
3884
5134
  systemTags?: string;
3885
5135
  schedulingTags?: string;
@@ -3887,11 +5137,14 @@ export type WorkBuddyStagesReverseReverseResponse = {
3887
5137
  id: string;
3888
5138
  jobId: string;
3889
5139
  stageId: string;
5140
+ integrationId?: string;
3890
5141
  code?: string;
3891
5142
  description: string;
3892
5143
  type?: string;
3893
5144
  quantity: number;
3894
5145
  unit?: string;
5146
+ location?: string;
5147
+ note?: string;
3895
5148
  status?: string;
3896
5149
  buyPrice?: number;
3897
5150
  sellPrice?: number;
@@ -3941,11 +5194,51 @@ export type WorkBuddySettingsJobStatusesListResponse = { items: { id: string; na
3941
5194
  export type WorkBuddySettingsJobTypesListResponse = {
3942
5195
  items: { id: string; name: string; sortOrder?: number; isDefault?: boolean }[];
3943
5196
  };
5197
+ export type WorkBuddySettingsJobTemplatesListResponse = { items: { id: string; name: string }[] };
3944
5198
  export type WorkBuddySettingsPrioritiesListResponse = {
3945
5199
  items: { id: string; name: string; sortOrder?: number; color?: string }[];
3946
5200
  };
5201
+ export type WorkBuddySettingsPricebooksListResponse = {
5202
+ items: {
5203
+ id: string;
5204
+ name: string;
5205
+ description?: string;
5206
+ category: 'customer' | 'contractor' | 'supplier';
5207
+ mode?: string;
5208
+ status: 'current' | 'expired' | 'future';
5209
+ parentOnly: boolean;
5210
+ isGlobal: boolean;
5211
+ account?: string;
5212
+ company?: string;
5213
+ dateStart?: string;
5214
+ dateEnd?: string;
5215
+ }[];
5216
+ };
5217
+ export type WorkBuddySettingsPricebooksGetByIdOrNameResponse = {
5218
+ id: string;
5219
+ name: string;
5220
+ description?: string;
5221
+ category: 'customer' | 'contractor' | 'supplier';
5222
+ mode?: string;
5223
+ status: 'current' | 'expired' | 'future';
5224
+ parentOnly: boolean;
5225
+ isGlobal: boolean;
5226
+ account?: string;
5227
+ company?: string;
5228
+ dateStart?: string;
5229
+ dateEnd?: string;
5230
+ };
3947
5231
  export type WorkBuddySettingsStageStatusesListResponse = {
3948
- items: { id: string; name: string; systemName: string; systemStatus: string; sortOrder?: number }[];
5232
+ items: {
5233
+ id: string;
5234
+ name: string;
5235
+ systemName: string;
5236
+ systemStatus: string;
5237
+ sortOrder?: number;
5238
+ description: string;
5239
+ activityOptions: { shareWithCustomer: boolean; shareWithField: boolean };
5240
+ displayOptions: { showInContractorPortal: boolean; showInFieldApp: boolean };
5241
+ }[];
3949
5242
  };
3950
5243
  export type WorkBuddySettingsTagsListResponse = { items: { id: string; name: string; color?: string }[] };
3951
5244
  export type WorkBuddySettingsZonesListResponse = { items: { id: string; name: string }[] };
@@ -3979,13 +5272,13 @@ export type WorkBuddySettingsTemplatesSmsListSmsTemplatesResponse = {
3979
5272
  export type WorkBuddySettingsItemsListResponse = {
3980
5273
  items: {
3981
5274
  id: string;
3982
- type: 'SERVICE' | 'INVENTORY' | 'NON-INVENTORY' | 'LABOUR' | 'INCENTIVE';
5275
+ type: 'SERVICE' | 'INVENTORY' | 'NON-INVENTORY' | 'INCENTIVE' | 'KIT' | 'BUNDLE' | 'SOR';
3983
5276
  name: string;
3984
5277
  baseUom: string;
3985
5278
  description: string;
3986
5279
  category: string;
3987
5280
  active: boolean;
3988
- integrationId?: string;
5281
+ integrationId: string;
3989
5282
  canOverrideDesc?: boolean;
3990
5283
  longDescription?: string;
3991
5284
  manufacturer?: string;
@@ -4016,13 +5309,13 @@ export type WorkBuddySettingsItemsListResponse = {
4016
5309
  export type WorkBuddySettingsItemsCreateResponse = {
4017
5310
  item: {
4018
5311
  id: string;
4019
- type: 'SERVICE' | 'INVENTORY' | 'NON-INVENTORY' | 'LABOUR' | 'INCENTIVE';
5312
+ type: 'SERVICE' | 'INVENTORY' | 'NON-INVENTORY' | 'INCENTIVE' | 'KIT' | 'BUNDLE' | 'SOR';
4020
5313
  name: string;
4021
5314
  baseUom: string;
4022
5315
  description: string;
4023
5316
  category: string;
4024
5317
  active: boolean;
4025
- integrationId?: string;
5318
+ integrationId: string;
4026
5319
  canOverrideDesc?: boolean;
4027
5320
  longDescription?: string;
4028
5321
  manufacturer?: string;
@@ -4049,16 +5342,16 @@ export type WorkBuddySettingsItemsCreateResponse = {
4049
5342
  updatedAt?: string;
4050
5343
  };
4051
5344
  };
4052
- export type WorkBuddySettingsItemsGetResponse = {
5345
+ export type WorkBuddySettingsItemsUpsertResponse = {
4053
5346
  item: {
4054
5347
  id: string;
4055
- type: 'SERVICE' | 'INVENTORY' | 'NON-INVENTORY' | 'LABOUR' | 'INCENTIVE';
5348
+ type: 'SERVICE' | 'INVENTORY' | 'NON-INVENTORY' | 'INCENTIVE' | 'KIT' | 'BUNDLE' | 'SOR';
4056
5349
  name: string;
4057
5350
  baseUom: string;
4058
5351
  description: string;
4059
5352
  category: string;
4060
5353
  active: boolean;
4061
- integrationId?: string;
5354
+ integrationId: string;
4062
5355
  canOverrideDesc?: boolean;
4063
5356
  longDescription?: string;
4064
5357
  manufacturer?: string;
@@ -4085,16 +5378,16 @@ export type WorkBuddySettingsItemsGetResponse = {
4085
5378
  updatedAt?: string;
4086
5379
  };
4087
5380
  };
4088
- export type WorkBuddySettingsItemsUpdateResponse = {
5381
+ export type WorkBuddySettingsItemsGetResponse = {
4089
5382
  item: {
4090
5383
  id: string;
4091
- type: 'SERVICE' | 'INVENTORY' | 'NON-INVENTORY' | 'LABOUR' | 'INCENTIVE';
5384
+ type: 'SERVICE' | 'INVENTORY' | 'NON-INVENTORY' | 'INCENTIVE' | 'KIT' | 'BUNDLE' | 'SOR';
4092
5385
  name: string;
4093
5386
  baseUom: string;
4094
5387
  description: string;
4095
5388
  category: string;
4096
5389
  active: boolean;
4097
- integrationId?: string;
5390
+ integrationId: string;
4098
5391
  canOverrideDesc?: boolean;
4099
5392
  longDescription?: string;
4100
5393
  manufacturer?: string;
@@ -4121,17 +5414,16 @@ export type WorkBuddySettingsItemsUpdateResponse = {
4121
5414
  updatedAt?: string;
4122
5415
  };
4123
5416
  };
4124
- export type WorkBuddySettingsItemsDeleteResponse = unknown;
4125
- export type WorkBuddySettingsItemsUpsertResponse = {
5417
+ export type WorkBuddySettingsItemsUpdateResponse = {
4126
5418
  item: {
4127
5419
  id: string;
4128
- type: 'SERVICE' | 'INVENTORY' | 'NON-INVENTORY' | 'LABOUR' | 'INCENTIVE';
5420
+ type: 'SERVICE' | 'INVENTORY' | 'NON-INVENTORY' | 'INCENTIVE' | 'KIT' | 'BUNDLE' | 'SOR';
4129
5421
  name: string;
4130
5422
  baseUom: string;
4131
5423
  description: string;
4132
5424
  category: string;
4133
5425
  active: boolean;
4134
- integrationId?: string;
5426
+ integrationId: string;
4135
5427
  canOverrideDesc?: boolean;
4136
5428
  longDescription?: string;
4137
5429
  manufacturer?: string;
@@ -4158,6 +5450,7 @@ export type WorkBuddySettingsItemsUpsertResponse = {
4158
5450
  updatedAt?: string;
4159
5451
  };
4160
5452
  };
5453
+ export type WorkBuddySettingsItemsDeleteResponse = unknown;
4161
5454
  export type WorkBuddySettingsItemCategoriesListResponse = {
4162
5455
  items: {
4163
5456
  id: string;
@@ -4172,6 +5465,64 @@ export type WorkBuddySettingsItemCategoriesUpsertResponse = {
4172
5465
  export type WorkBuddySettingsUomsListResponse = {
4173
5466
  items: { id: string; name: string; abbreviation?: string; type?: string; wholeNumber?: boolean; active?: boolean }[];
4174
5467
  };
5468
+ export type WorkBuddySettingsCustomFieldsJobsListJobCustomFieldsResponse = {
5469
+ items: {
5470
+ key: string;
5471
+ name: string;
5472
+ parent: string;
5473
+ type?: string;
5474
+ required?: boolean;
5475
+ readonly?: boolean;
5476
+ defaultValue?: string;
5477
+ options?: string;
5478
+ sortOrder?: number;
5479
+ }[];
5480
+ };
5481
+ export type WorkBuddySettingsCustomFieldsStagesListStageCustomFieldsResponse = {
5482
+ items: {
5483
+ key: string;
5484
+ name: string;
5485
+ parent: string;
5486
+ type?: string;
5487
+ required?: boolean;
5488
+ readonly?: boolean;
5489
+ defaultValue?: string;
5490
+ options?: string;
5491
+ sortOrder?: number;
5492
+ }[];
5493
+ };
5494
+ export type WorkBuddySettingsCustomFieldsAccountsListAccountCustomFieldsResponse = {
5495
+ items: {
5496
+ key: string;
5497
+ name: string;
5498
+ parent: string;
5499
+ type?: string;
5500
+ required?: boolean;
5501
+ readonly?: boolean;
5502
+ defaultValue?: string;
5503
+ options?: string;
5504
+ sortOrder?: number;
5505
+ }[];
5506
+ };
5507
+ export type WorkBuddySettingsCustomFieldsItemsListItemCustomFieldsResponse = {
5508
+ items: {
5509
+ key: string;
5510
+ name: string;
5511
+ parent: string;
5512
+ type?: string;
5513
+ required?: boolean;
5514
+ readonly?: boolean;
5515
+ defaultValue?: string;
5516
+ options?: string;
5517
+ sortOrder?: number;
5518
+ }[];
5519
+ };
5520
+ export type WorkBuddySettingsRolesClientPortalListResponse = {
5521
+ items: { id: string; name: string; type: string; system: boolean }[];
5522
+ };
5523
+ export type WorkBuddySettingsRolesContractorPortalListResponse = {
5524
+ items: { id: string; name: string; type: string; system: boolean }[];
5525
+ };
4175
5526
  export type WorkBuddyAttachmentsCreateUploadSessionResponse = {
4176
5527
  uploadUrl: string;
4177
5528
  headers: { 'x-ms-blob-type': string; 'Content-Type': string };
@@ -4229,7 +5580,16 @@ export type WorkBuddyJobsContactsCreateResponse = unknown;
4229
5580
  export type WorkBuddyJobsContactsGetResponse = unknown;
4230
5581
  export type WorkBuddyJobsContactsDeleteResponse = unknown;
4231
5582
  export type WorkBuddyCrmCustomersListResponse = {
4232
- items: { id: string; name: string; type: string }[];
5583
+ items: {
5584
+ id: string;
5585
+ name: string;
5586
+ type: string;
5587
+ integrationId: string;
5588
+ address: string;
5589
+ phone: string;
5590
+ mobile: string;
5591
+ email: string;
5592
+ }[];
4233
5593
  pagination: { limit: number; hasMore: boolean; nextCursor: string };
4234
5594
  };
4235
5595
  export type WorkBuddyCrmCustomersCreateResponse = {
@@ -4239,6 +5599,7 @@ export type WorkBuddyCrmCustomersCreateResponse = {
4239
5599
  type: string;
4240
5600
  legalName: string;
4241
5601
  phone: string;
5602
+ mobile: string;
4242
5603
  email: string;
4243
5604
  website: string;
4244
5605
  integrationId: string;
@@ -4247,7 +5608,7 @@ export type WorkBuddyCrmCustomersCreateResponse = {
4247
5608
  primarySite: string;
4248
5609
  owner: string;
4249
5610
  labels: { id: string; name: string; type?: string; color?: string }[];
4250
- description: string;
5611
+ notes: string;
4251
5612
  customFields: Record<string, unknown>;
4252
5613
  status: string;
4253
5614
  createdAt: string;
@@ -4262,6 +5623,7 @@ export type WorkBuddyCrmCustomersGetResponse = {
4262
5623
  type: string;
4263
5624
  legalName: string;
4264
5625
  phone: string;
5626
+ mobile: string;
4265
5627
  email: string;
4266
5628
  website: string;
4267
5629
  integrationId: string;
@@ -4270,7 +5632,7 @@ export type WorkBuddyCrmCustomersGetResponse = {
4270
5632
  primarySite: string;
4271
5633
  owner: string;
4272
5634
  labels: { id: string; name: string; type?: string; color?: string }[];
4273
- description: string;
5635
+ notes: string;
4274
5636
  customFields: Record<string, unknown>;
4275
5637
  status: string;
4276
5638
  createdAt: string;
@@ -4285,6 +5647,7 @@ export type WorkBuddyCrmCustomersUpdateResponse = {
4285
5647
  type: string;
4286
5648
  legalName: string;
4287
5649
  phone: string;
5650
+ mobile: string;
4288
5651
  email: string;
4289
5652
  website: string;
4290
5653
  integrationId: string;
@@ -4293,7 +5656,32 @@ export type WorkBuddyCrmCustomersUpdateResponse = {
4293
5656
  primarySite: string;
4294
5657
  owner: string;
4295
5658
  labels: { id: string; name: string; type?: string; color?: string }[];
4296
- description: string;
5659
+ notes: string;
5660
+ customFields: Record<string, unknown>;
5661
+ status: string;
5662
+ createdAt: string;
5663
+ updatedAt: string;
5664
+ socialNetwork: string;
5665
+ };
5666
+ };
5667
+ export type WorkBuddyCrmCustomersDeleteResponse = { id: string; deleted: boolean };
5668
+ export type WorkBuddyCrmCustomersStatusUpdateStatusResponse = {
5669
+ item: {
5670
+ id: string;
5671
+ name: string;
5672
+ type: string;
5673
+ legalName: string;
5674
+ phone: string;
5675
+ mobile: string;
5676
+ email: string;
5677
+ website: string;
5678
+ integrationId: string;
5679
+ address: string;
5680
+ primaryContact: string;
5681
+ primarySite: string;
5682
+ owner: string;
5683
+ labels: { id: string; name: string; type?: string; color?: string }[];
5684
+ notes: string;
4297
5685
  customFields: Record<string, unknown>;
4298
5686
  status: string;
4299
5687
  createdAt: string;
@@ -4302,29 +5690,172 @@ export type WorkBuddyCrmCustomersUpdateResponse = {
4302
5690
  };
4303
5691
  };
4304
5692
  export type WorkBuddyCrmCustomersContactsListResponse = {
4305
- items: { id: string; name: string; type: string }[];
5693
+ items: {
5694
+ id: string;
5695
+ name: string;
5696
+ type: string;
5697
+ firstName?: string;
5698
+ lastName?: string;
5699
+ title?: string;
5700
+ integrationId?: string;
5701
+ phone?: string;
5702
+ mobile?: string;
5703
+ email?: string;
5704
+ username?: string;
5705
+ login?: boolean;
5706
+ invitePending?: boolean;
5707
+ autoDispatch?: string;
5708
+ status?: string;
5709
+ note?: string;
5710
+ parents?: { id: string; name: string; type: string; primary?: boolean; role?: string; invitePending?: boolean }[];
5711
+ }[];
4306
5712
  pagination: { limit: number; hasMore: boolean; nextCursor: string };
4307
5713
  };
5714
+ export type WorkBuddyCrmCustomersContactsCreateContactResponse = {
5715
+ item: {
5716
+ id: string;
5717
+ name: string;
5718
+ type: string;
5719
+ firstName?: string;
5720
+ lastName?: string;
5721
+ title?: string;
5722
+ integrationId?: string;
5723
+ phone?: string;
5724
+ mobile?: string;
5725
+ email?: string;
5726
+ username?: string;
5727
+ login?: boolean;
5728
+ invitePending?: boolean;
5729
+ autoDispatch?: string;
5730
+ status?: string;
5731
+ note?: string;
5732
+ parents?: { id: string; name: string; type: string; primary?: boolean; role?: string; invitePending?: boolean }[];
5733
+ };
5734
+ };
5735
+ export type WorkBuddyCrmCustomersContactsDeleteContactResponse = unknown;
5736
+ export type WorkBuddyCrmCustomersContactsInviteInviteContactResponse = {
5737
+ item: {
5738
+ id: string;
5739
+ name: string;
5740
+ type: string;
5741
+ firstName?: string;
5742
+ lastName?: string;
5743
+ title?: string;
5744
+ integrationId?: string;
5745
+ phone?: string;
5746
+ mobile?: string;
5747
+ email?: string;
5748
+ username?: string;
5749
+ login?: boolean;
5750
+ invitePending?: boolean;
5751
+ autoDispatch?: string;
5752
+ status?: string;
5753
+ note?: string;
5754
+ parents?: { id: string; name: string; type: string; primary?: boolean; role?: string; invitePending?: boolean }[];
5755
+ };
5756
+ };
4308
5757
  export type WorkBuddyCrmCustomersSitesListResponse = {
4309
- items: { id: string; name: string; address: string }[];
5758
+ items: { id: string; name: string; type: string; primaryContact?: string; address: string }[];
4310
5759
  pagination: { limit: number; hasMore: boolean; nextCursor: string };
4311
5760
  };
4312
5761
  export type WorkBuddyCrmEmployeesListResponse = {
4313
- items: { id: string; name: string; type: string }[];
5762
+ items: {
5763
+ id: string;
5764
+ name: string;
5765
+ type: string;
5766
+ firstName?: string;
5767
+ lastName?: string;
5768
+ title?: string;
5769
+ integrationId?: string;
5770
+ phone?: string;
5771
+ mobile?: string;
5772
+ email?: string;
5773
+ username?: string;
5774
+ login?: boolean;
5775
+ invitePending?: boolean;
5776
+ autoDispatch?: string;
5777
+ status?: string;
5778
+ note?: string;
5779
+ parents?: { id: string; name: string; type: string; primary?: boolean; role?: string; invitePending?: boolean }[];
5780
+ address?: string;
5781
+ }[];
4314
5782
  pagination: { limit: number; hasMore: boolean; nextCursor: string };
4315
5783
  };
4316
- export type WorkBuddyCrmEmployeesGetResponse = { item: { id: string; name: string; type: string } };
5784
+ export type WorkBuddyCrmEmployeesGetResponse = {
5785
+ item: {
5786
+ id: string;
5787
+ name: string;
5788
+ type: string;
5789
+ firstName?: string;
5790
+ lastName?: string;
5791
+ title?: string;
5792
+ integrationId?: string;
5793
+ phone?: string;
5794
+ mobile?: string;
5795
+ email?: string;
5796
+ username?: string;
5797
+ login?: boolean;
5798
+ invitePending?: boolean;
5799
+ autoDispatch?: string;
5800
+ status?: string;
5801
+ note?: string;
5802
+ parents?: { id: string; name: string; type: string; primary?: boolean; role?: string; invitePending?: boolean }[];
5803
+ address?: string;
5804
+ };
5805
+ };
4317
5806
  export type WorkBuddyCrmContractorsListResponse = {
4318
- items: { id: string; name: string; type: string }[];
5807
+ items: {
5808
+ id: string;
5809
+ name: string;
5810
+ type: string;
5811
+ integrationId: string;
5812
+ address: string;
5813
+ phone: string;
5814
+ mobile: string;
5815
+ email: string;
5816
+ }[];
4319
5817
  pagination: { limit: number; hasMore: boolean; nextCursor: string };
4320
5818
  };
4321
- export type WorkBuddyCrmContractorsCreateResponse = {
5819
+ export type WorkBuddyCrmContractorsCreateResponse = {
5820
+ item: {
5821
+ id: string;
5822
+ name: string;
5823
+ type: string;
5824
+ legalName: string;
5825
+ phone: string;
5826
+ mobile: string;
5827
+ email: string;
5828
+ website: string;
5829
+ integrationId: string;
5830
+ address: string;
5831
+ primaryContact: string;
5832
+ primarySite: string;
5833
+ owner: string;
5834
+ labels: { id: string; name: string; type?: string; color?: string }[];
5835
+ notes: string;
5836
+ customFields: Record<string, unknown>;
5837
+ status: string;
5838
+ createdAt: string;
5839
+ updatedAt: string;
5840
+ socialNetwork: string;
5841
+ zones: { id: string; name: string; type?: string }[];
5842
+ companies: { id: string; name: string; type?: string }[];
5843
+ workCategories: { id: string; name: string; type?: string }[];
5844
+ scheduling: string;
5845
+ dispatching: string;
5846
+ timesheet: string;
5847
+ hidePrices: string;
5848
+ pricebook: string;
5849
+ };
5850
+ };
5851
+ export type WorkBuddyCrmContractorsGetResponse = {
4322
5852
  item: {
4323
5853
  id: string;
4324
5854
  name: string;
4325
5855
  type: string;
4326
5856
  legalName: string;
4327
5857
  phone: string;
5858
+ mobile: string;
4328
5859
  email: string;
4329
5860
  website: string;
4330
5861
  integrationId: string;
@@ -4333,11 +5864,12 @@ export type WorkBuddyCrmContractorsCreateResponse = {
4333
5864
  primarySite: string;
4334
5865
  owner: string;
4335
5866
  labels: { id: string; name: string; type?: string; color?: string }[];
4336
- description: string;
5867
+ notes: string;
4337
5868
  customFields: Record<string, unknown>;
4338
5869
  status: string;
4339
5870
  createdAt: string;
4340
5871
  updatedAt: string;
5872
+ socialNetwork: string;
4341
5873
  zones: { id: string; name: string; type?: string }[];
4342
5874
  companies: { id: string; name: string; type?: string }[];
4343
5875
  workCategories: { id: string; name: string; type?: string }[];
@@ -4348,13 +5880,14 @@ export type WorkBuddyCrmContractorsCreateResponse = {
4348
5880
  pricebook: string;
4349
5881
  };
4350
5882
  };
4351
- export type WorkBuddyCrmContractorsGetResponse = {
5883
+ export type WorkBuddyCrmContractorsUpdateResponse = {
4352
5884
  item: {
4353
5885
  id: string;
4354
5886
  name: string;
4355
5887
  type: string;
4356
5888
  legalName: string;
4357
5889
  phone: string;
5890
+ mobile: string;
4358
5891
  email: string;
4359
5892
  website: string;
4360
5893
  integrationId: string;
@@ -4363,11 +5896,12 @@ export type WorkBuddyCrmContractorsGetResponse = {
4363
5896
  primarySite: string;
4364
5897
  owner: string;
4365
5898
  labels: { id: string; name: string; type?: string; color?: string }[];
4366
- description: string;
5899
+ notes: string;
4367
5900
  customFields: Record<string, unknown>;
4368
5901
  status: string;
4369
5902
  createdAt: string;
4370
5903
  updatedAt: string;
5904
+ socialNetwork: string;
4371
5905
  zones: { id: string; name: string; type?: string }[];
4372
5906
  companies: { id: string; name: string; type?: string }[];
4373
5907
  workCategories: { id: string; name: string; type?: string }[];
@@ -4378,13 +5912,15 @@ export type WorkBuddyCrmContractorsGetResponse = {
4378
5912
  pricebook: string;
4379
5913
  };
4380
5914
  };
4381
- export type WorkBuddyCrmContractorsUpdateResponse = {
5915
+ export type WorkBuddyCrmContractorsDeleteResponse = { id: string; deleted: boolean };
5916
+ export type WorkBuddyCrmContractorsStatusUpdateStatusResponse = {
4382
5917
  item: {
4383
5918
  id: string;
4384
5919
  name: string;
4385
5920
  type: string;
4386
5921
  legalName: string;
4387
5922
  phone: string;
5923
+ mobile: string;
4388
5924
  email: string;
4389
5925
  website: string;
4390
5926
  integrationId: string;
@@ -4393,11 +5929,12 @@ export type WorkBuddyCrmContractorsUpdateResponse = {
4393
5929
  primarySite: string;
4394
5930
  owner: string;
4395
5931
  labels: { id: string; name: string; type?: string; color?: string }[];
4396
- description: string;
5932
+ notes: string;
4397
5933
  customFields: Record<string, unknown>;
4398
5934
  status: string;
4399
5935
  createdAt: string;
4400
5936
  updatedAt: string;
5937
+ socialNetwork: string;
4401
5938
  zones: { id: string; name: string; type?: string }[];
4402
5939
  companies: { id: string; name: string; type?: string }[];
4403
5940
  workCategories: { id: string; name: string; type?: string }[];
@@ -4408,8 +5945,82 @@ export type WorkBuddyCrmContractorsUpdateResponse = {
4408
5945
  pricebook: string;
4409
5946
  };
4410
5947
  };
5948
+ export type WorkBuddyCrmContractorsContactsListResponse = {
5949
+ items: {
5950
+ id: string;
5951
+ name: string;
5952
+ type: string;
5953
+ firstName?: string;
5954
+ lastName?: string;
5955
+ title?: string;
5956
+ integrationId?: string;
5957
+ phone?: string;
5958
+ mobile?: string;
5959
+ email?: string;
5960
+ username?: string;
5961
+ login?: boolean;
5962
+ invitePending?: boolean;
5963
+ autoDispatch?: string;
5964
+ status?: string;
5965
+ note?: string;
5966
+ parents?: { id: string; name: string; type: string; primary?: boolean; role?: string; invitePending?: boolean }[];
5967
+ }[];
5968
+ pagination: { limit: number; hasMore: boolean; nextCursor: string };
5969
+ };
5970
+ export type WorkBuddyCrmContractorsContactsCreateContactResponse = {
5971
+ item: {
5972
+ id: string;
5973
+ name: string;
5974
+ type: string;
5975
+ firstName?: string;
5976
+ lastName?: string;
5977
+ title?: string;
5978
+ integrationId?: string;
5979
+ phone?: string;
5980
+ mobile?: string;
5981
+ email?: string;
5982
+ username?: string;
5983
+ login?: boolean;
5984
+ invitePending?: boolean;
5985
+ autoDispatch?: string;
5986
+ status?: string;
5987
+ note?: string;
5988
+ parents?: { id: string; name: string; type: string; primary?: boolean; role?: string; invitePending?: boolean }[];
5989
+ };
5990
+ };
5991
+ export type WorkBuddyCrmContractorsContactsDeleteContactResponse = unknown;
5992
+ export type WorkBuddyCrmContractorsContactsInviteInviteContactResponse = {
5993
+ item: {
5994
+ id: string;
5995
+ name: string;
5996
+ type: string;
5997
+ firstName?: string;
5998
+ lastName?: string;
5999
+ title?: string;
6000
+ integrationId?: string;
6001
+ phone?: string;
6002
+ mobile?: string;
6003
+ email?: string;
6004
+ username?: string;
6005
+ login?: boolean;
6006
+ invitePending?: boolean;
6007
+ autoDispatch?: string;
6008
+ status?: string;
6009
+ note?: string;
6010
+ parents?: { id: string; name: string; type: string; primary?: boolean; role?: string; invitePending?: boolean }[];
6011
+ };
6012
+ };
4411
6013
  export type WorkBuddyCrmSuppliersListResponse = {
4412
- items: { id: string; name: string; type: string }[];
6014
+ items: {
6015
+ id: string;
6016
+ name: string;
6017
+ type: string;
6018
+ integrationId: string;
6019
+ address: string;
6020
+ phone: string;
6021
+ mobile: string;
6022
+ email: string;
6023
+ }[];
4413
6024
  pagination: { limit: number; hasMore: boolean; nextCursor: string };
4414
6025
  };
4415
6026
  export type WorkBuddyCrmSuppliersCreateResponse = {
@@ -4419,6 +6030,7 @@ export type WorkBuddyCrmSuppliersCreateResponse = {
4419
6030
  type: string;
4420
6031
  legalName: string;
4421
6032
  phone: string;
6033
+ mobile: string;
4422
6034
  email: string;
4423
6035
  website: string;
4424
6036
  integrationId: string;
@@ -4427,11 +6039,12 @@ export type WorkBuddyCrmSuppliersCreateResponse = {
4427
6039
  primarySite: string;
4428
6040
  owner: string;
4429
6041
  labels: { id: string; name: string; type?: string; color?: string }[];
4430
- description: string;
6042
+ notes: string;
4431
6043
  customFields: Record<string, unknown>;
4432
6044
  status: string;
4433
6045
  createdAt: string;
4434
6046
  updatedAt: string;
6047
+ socialNetwork: string;
4435
6048
  zones: { id: string; name: string; type?: string }[];
4436
6049
  workCategories: { id: string; name: string; type?: string }[];
4437
6050
  taxId: string;
@@ -4450,6 +6063,7 @@ export type WorkBuddyCrmSuppliersGetResponse = {
4450
6063
  type: string;
4451
6064
  legalName: string;
4452
6065
  phone: string;
6066
+ mobile: string;
4453
6067
  email: string;
4454
6068
  website: string;
4455
6069
  integrationId: string;
@@ -4458,11 +6072,12 @@ export type WorkBuddyCrmSuppliersGetResponse = {
4458
6072
  primarySite: string;
4459
6073
  owner: string;
4460
6074
  labels: { id: string; name: string; type?: string; color?: string }[];
4461
- description: string;
6075
+ notes: string;
4462
6076
  customFields: Record<string, unknown>;
4463
6077
  status: string;
4464
6078
  createdAt: string;
4465
6079
  updatedAt: string;
6080
+ socialNetwork: string;
4466
6081
  zones: { id: string; name: string; type?: string }[];
4467
6082
  workCategories: { id: string; name: string; type?: string }[];
4468
6083
  taxId: string;
@@ -4481,6 +6096,7 @@ export type WorkBuddyCrmSuppliersUpdateResponse = {
4481
6096
  type: string;
4482
6097
  legalName: string;
4483
6098
  phone: string;
6099
+ mobile: string;
4484
6100
  email: string;
4485
6101
  website: string;
4486
6102
  integrationId: string;
@@ -4489,11 +6105,46 @@ export type WorkBuddyCrmSuppliersUpdateResponse = {
4489
6105
  primarySite: string;
4490
6106
  owner: string;
4491
6107
  labels: { id: string; name: string; type?: string; color?: string }[];
4492
- description: string;
6108
+ notes: string;
6109
+ customFields: Record<string, unknown>;
6110
+ status: string;
6111
+ createdAt: string;
6112
+ updatedAt: string;
6113
+ socialNetwork: string;
6114
+ zones: { id: string; name: string; type?: string }[];
6115
+ workCategories: { id: string; name: string; type?: string }[];
6116
+ taxId: string;
6117
+ accounting: string;
6118
+ financeTags: { id: string; name: string; type?: string }[];
6119
+ invoices: string;
6120
+ billTo: string;
6121
+ credit: string;
6122
+ billTheme: string;
6123
+ };
6124
+ };
6125
+ export type WorkBuddyCrmSuppliersDeleteResponse = { id: string; deleted: boolean };
6126
+ export type WorkBuddyCrmSuppliersStatusUpdateStatusResponse = {
6127
+ item: {
6128
+ id: string;
6129
+ name: string;
6130
+ type: string;
6131
+ legalName: string;
6132
+ phone: string;
6133
+ mobile: string;
6134
+ email: string;
6135
+ website: string;
6136
+ integrationId: string;
6137
+ address: string;
6138
+ primaryContact: string;
6139
+ primarySite: string;
6140
+ owner: string;
6141
+ labels: { id: string; name: string; type?: string; color?: string }[];
6142
+ notes: string;
4493
6143
  customFields: Record<string, unknown>;
4494
6144
  status: string;
4495
6145
  createdAt: string;
4496
6146
  updatedAt: string;
6147
+ socialNetwork: string;
4497
6148
  zones: { id: string; name: string; type?: string }[];
4498
6149
  workCategories: { id: string; name: string; type?: string }[];
4499
6150
  taxId: string;
@@ -4506,30 +6157,252 @@ export type WorkBuddyCrmSuppliersUpdateResponse = {
4506
6157
  };
4507
6158
  };
4508
6159
  export type WorkBuddyCrmCompaniesListResponse = {
4509
- items: { id: string; name: string; type: string }[];
6160
+ items: {
6161
+ id: string;
6162
+ name: string;
6163
+ type: string;
6164
+ firstName?: string;
6165
+ lastName?: string;
6166
+ title?: string;
6167
+ integrationId?: string;
6168
+ phone?: string;
6169
+ email?: string;
6170
+ username?: string;
6171
+ login?: boolean;
6172
+ invitePending?: boolean;
6173
+ autoDispatch?: string;
6174
+ status?: string;
6175
+ note?: string;
6176
+ parents?: { id: string; name: string; type: string; primary?: boolean; role?: string; invitePending?: boolean }[];
6177
+ legalName?: string;
6178
+ website?: string;
6179
+ address?: string;
6180
+ }[];
4510
6181
  pagination: { limit: number; hasMore: boolean; nextCursor: string };
4511
6182
  };
4512
- export type WorkBuddyCrmCompaniesGetResponse = { item: { id: string; name: string; type: string } };
6183
+ export type WorkBuddyCrmCompaniesGetResponse = {
6184
+ item: {
6185
+ id: string;
6186
+ name: string;
6187
+ type: string;
6188
+ firstName?: string;
6189
+ lastName?: string;
6190
+ title?: string;
6191
+ integrationId?: string;
6192
+ phone?: string;
6193
+ email?: string;
6194
+ username?: string;
6195
+ login?: boolean;
6196
+ invitePending?: boolean;
6197
+ autoDispatch?: string;
6198
+ status?: string;
6199
+ note?: string;
6200
+ parents?: { id: string; name: string; type: string; primary?: boolean; role?: string; invitePending?: boolean }[];
6201
+ legalName?: string;
6202
+ website?: string;
6203
+ address?: string;
6204
+ };
6205
+ };
4513
6206
  export type WorkBuddyCrmExternalUsersListResponse = {
4514
- items: { id: string; name: string; type: string }[];
6207
+ items: {
6208
+ id: string;
6209
+ name: string;
6210
+ type: string;
6211
+ firstName?: string;
6212
+ lastName?: string;
6213
+ title?: string;
6214
+ integrationId?: string;
6215
+ phone?: string;
6216
+ mobile?: string;
6217
+ email?: string;
6218
+ username?: string;
6219
+ login?: boolean;
6220
+ invitePending?: boolean;
6221
+ autoDispatch?: string;
6222
+ status?: string;
6223
+ note?: string;
6224
+ parents?: { id: string; name: string; type: string; primary?: boolean; role?: string; invitePending?: boolean }[];
6225
+ }[];
4515
6226
  pagination: { limit: number; hasMore: boolean; nextCursor: string };
4516
6227
  };
4517
- export type WorkBuddyCrmExternalUsersGetResponse = { item: { id: string; name: string; type: string } };
6228
+ export type WorkBuddyCrmExternalUsersGetResponse = {
6229
+ item: {
6230
+ id: string;
6231
+ name: string;
6232
+ type: string;
6233
+ firstName?: string;
6234
+ lastName?: string;
6235
+ title?: string;
6236
+ integrationId?: string;
6237
+ phone?: string;
6238
+ mobile?: string;
6239
+ email?: string;
6240
+ username?: string;
6241
+ login?: boolean;
6242
+ invitePending?: boolean;
6243
+ autoDispatch?: string;
6244
+ status?: string;
6245
+ note?: string;
6246
+ parents?: { id: string; name: string; type: string; primary?: boolean; role?: string; invitePending?: boolean }[];
6247
+ };
6248
+ };
4518
6249
  export type WorkBuddyCrmContactsListResponse = {
4519
- items: { id: string; name: string; type: string }[];
6250
+ items: {
6251
+ id: string;
6252
+ name: string;
6253
+ type: string;
6254
+ firstName?: string;
6255
+ lastName?: string;
6256
+ title?: string;
6257
+ integrationId?: string;
6258
+ phone?: string;
6259
+ mobile?: string;
6260
+ email?: string;
6261
+ username?: string;
6262
+ login?: boolean;
6263
+ invitePending?: boolean;
6264
+ autoDispatch?: string;
6265
+ status?: string;
6266
+ note?: string;
6267
+ parents?: { id: string; name: string; type: string; primary?: boolean; role?: string; invitePending?: boolean }[];
6268
+ }[];
4520
6269
  pagination: { limit: number; hasMore: boolean; nextCursor: string };
4521
6270
  };
4522
- export type WorkBuddyCrmContactsGetResponse = { item: { id: string; name: string; type: string } };
6271
+ export type WorkBuddyCrmContactsGetResponse = {
6272
+ item: {
6273
+ id: string;
6274
+ name: string;
6275
+ type: string;
6276
+ firstName?: string;
6277
+ lastName?: string;
6278
+ title?: string;
6279
+ integrationId?: string;
6280
+ phone?: string;
6281
+ mobile?: string;
6282
+ email?: string;
6283
+ username?: string;
6284
+ login?: boolean;
6285
+ invitePending?: boolean;
6286
+ autoDispatch?: string;
6287
+ status?: string;
6288
+ note?: string;
6289
+ parents?: { id: string; name: string; type: string; primary?: boolean; role?: string; invitePending?: boolean }[];
6290
+ };
6291
+ };
6292
+ export type WorkBuddyCrmContactsUpdateResponse = {
6293
+ item: {
6294
+ id: string;
6295
+ name: string;
6296
+ type: string;
6297
+ firstName?: string;
6298
+ lastName?: string;
6299
+ title?: string;
6300
+ integrationId?: string;
6301
+ phone?: string;
6302
+ mobile?: string;
6303
+ email?: string;
6304
+ username?: string;
6305
+ login?: boolean;
6306
+ invitePending?: boolean;
6307
+ autoDispatch?: string;
6308
+ status?: string;
6309
+ note?: string;
6310
+ parents?: { id: string; name: string; type: string; primary?: boolean; role?: string; invitePending?: boolean }[];
6311
+ };
6312
+ };
6313
+ export type WorkBuddyCrmContactsStatusUpdateStatusResponse = {
6314
+ item: {
6315
+ id: string;
6316
+ name: string;
6317
+ type: string;
6318
+ firstName?: string;
6319
+ lastName?: string;
6320
+ title?: string;
6321
+ integrationId?: string;
6322
+ phone?: string;
6323
+ mobile?: string;
6324
+ email?: string;
6325
+ username?: string;
6326
+ login?: boolean;
6327
+ invitePending?: boolean;
6328
+ autoDispatch?: string;
6329
+ status?: string;
6330
+ note?: string;
6331
+ parents?: { id: string; name: string; type: string; primary?: boolean; role?: string; invitePending?: boolean }[];
6332
+ };
6333
+ };
4523
6334
  export type WorkBuddyCrmInvitesListResponse = {
4524
- items: { id: string; name: string; type: string }[];
6335
+ items: {
6336
+ id: string;
6337
+ name: string;
6338
+ type: string;
6339
+ firstName?: string;
6340
+ lastName?: string;
6341
+ title?: string;
6342
+ integrationId?: string;
6343
+ phone?: string;
6344
+ mobile?: string;
6345
+ email?: string;
6346
+ username?: string;
6347
+ login?: boolean;
6348
+ invitePending?: boolean;
6349
+ autoDispatch?: string;
6350
+ status?: string;
6351
+ note?: string;
6352
+ parents?: { id: string; name: string; type: string; primary?: boolean; role?: string; invitePending?: boolean }[];
6353
+ }[];
4525
6354
  pagination: { limit: number; hasMore: boolean; nextCursor: string };
4526
6355
  };
4527
- export type WorkBuddyCrmInvitesGetResponse = { item: { id: string; name: string; type: string } };
6356
+ export type WorkBuddyCrmInvitesGetResponse = {
6357
+ item: {
6358
+ id: string;
6359
+ name: string;
6360
+ type: string;
6361
+ firstName?: string;
6362
+ lastName?: string;
6363
+ title?: string;
6364
+ integrationId?: string;
6365
+ phone?: string;
6366
+ mobile?: string;
6367
+ email?: string;
6368
+ username?: string;
6369
+ login?: boolean;
6370
+ invitePending?: boolean;
6371
+ autoDispatch?: string;
6372
+ status?: string;
6373
+ note?: string;
6374
+ parents?: { id: string; name: string; type: string; primary?: boolean; role?: string; invitePending?: boolean }[];
6375
+ };
6376
+ };
4528
6377
  export type WorkBuddyCrmSitesListResponse = {
4529
- items: { id: string; name: string; address: string }[];
6378
+ items: { id: string; name: string; type: string; primaryContact?: string; address: string }[];
6379
+ pagination: { limit: number; hasMore: boolean; nextCursor: string };
6380
+ };
6381
+ export type WorkBuddyCrmSitesGetResponse = {
6382
+ item: { id: string; name: string; type: string; primaryContact?: string; address: string };
6383
+ };
6384
+ export type WorkBuddyCrmSitesContactsListResponse = {
6385
+ items: {
6386
+ id: string;
6387
+ name: string;
6388
+ type: string;
6389
+ firstName?: string;
6390
+ lastName?: string;
6391
+ title?: string;
6392
+ integrationId?: string;
6393
+ phone?: string;
6394
+ mobile?: string;
6395
+ email?: string;
6396
+ username?: string;
6397
+ login?: boolean;
6398
+ invitePending?: boolean;
6399
+ autoDispatch?: string;
6400
+ status?: string;
6401
+ note?: string;
6402
+ parents?: { id: string; name: string; type: string; primary?: boolean; role?: string; invitePending?: boolean }[];
6403
+ }[];
4530
6404
  pagination: { limit: number; hasMore: boolean; nextCursor: string };
4531
6405
  };
4532
- export type WorkBuddyCrmSitesGetResponse = { item: { id: string; name: string; address: string } };
4533
6406
  export type WorkBuddyWebhooksEntitiesListResponse = unknown;
4534
6407
  export type WorkBuddyWebhooksEntitiesEventsListResponse = unknown;
4535
6408
  export type WorkBuddyWebhooksEntitiesFiltersListResponse = unknown;
@@ -4600,6 +6473,10 @@ export type WorkBuddyMcpCreateResponse = unknown;
4600
6473
  export type WorkBuddyMcpDeleteResponse = unknown;
4601
6474
 
4602
6475
  export interface WorkBuddyJobsResource {
6476
+ /** Template API operations. */
6477
+ template: WorkBuddyJobsTemplateResource;
6478
+ /** Status API operations. */
6479
+ status: WorkBuddyJobsStatusResource;
4603
6480
  /** Stages API operations. */
4604
6481
  stages: WorkBuddyJobsStagesResource;
4605
6482
  /** Activities API operations. */
@@ -4674,9 +6551,33 @@ export interface WorkBuddyJobsResource {
4674
6551
  ): Promise<TResponse>;
4675
6552
  }
4676
6553
 
6554
+ export interface WorkBuddyJobsTemplateResource {
6555
+ /**
6556
+ * Create a job using a job template. Template-owned fields win over request values before final job validation.
6557
+ * Operation: PublicApiJobController_createFromTemplate
6558
+ */
6559
+ createFromTemplate<TResponse = WorkBuddyJobsTemplateCreateFromTemplateResponse>(
6560
+ params: WorkBuddyJobsTemplateCreateFromTemplateParams,
6561
+ options?: WorkBuddyRequestOptions
6562
+ ): Promise<TResponse>;
6563
+ }
6564
+
6565
+ export interface WorkBuddyJobsStatusResource {
6566
+ /**
6567
+ * Change an existing job status and cascade the change to stages through the job domain command.
6568
+ * Operation: PublicApiJobController_updateStatus
6569
+ */
6570
+ updateStatus<TResponse = WorkBuddyJobsStatusUpdateStatusResponse>(
6571
+ params: WorkBuddyJobsStatusUpdateStatusParams,
6572
+ options?: WorkBuddyRequestOptions
6573
+ ): Promise<TResponse>;
6574
+ }
6575
+
4677
6576
  export interface WorkBuddyJobsStagesResource {
4678
6577
  /** Items API operations. */
4679
6578
  items: WorkBuddyJobsStagesItemsResource;
6579
+ /** Pending Items API operations. */
6580
+ pendingItems: WorkBuddyJobsStagesPendingItemsResource;
4680
6581
  /** Resources API operations. */
4681
6582
  resources: WorkBuddyJobsStagesResourcesResource;
4682
6583
  /** Activities API operations. */
@@ -4686,58 +6587,167 @@ export interface WorkBuddyJobsStagesResource {
4686
6587
  /** Tasks API operations. */
4687
6588
  tasks: WorkBuddyJobsStagesTasksResource;
4688
6589
  /**
4689
- * Get all stages (work orders) for a job.
4690
- * Operation: PublicApiJobController_getJobStages
6590
+ * Get all stages (work orders) for a job.
6591
+ * Operation: PublicApiJobController_getJobStages
6592
+ */
6593
+ list<TResponse = WorkBuddyJobsStagesListResponse>(
6594
+ params: WorkBuddyJobsStagesListParams,
6595
+ options?: WorkBuddyRequestOptions
6596
+ ): Promise<TResponse>;
6597
+ /** Iterate all items by following cursor pagination for list(). */
6598
+ all<TItem = WorkBuddyPageItem<WorkBuddyJobsStagesListResponse>>(
6599
+ params: WorkBuddyJobsStagesListParams,
6600
+ options?: WorkBuddyRequestOptions
6601
+ ): AsyncIterable<TItem>;
6602
+ /** Iterate raw pages by following cursor pagination for list(). */
6603
+ pages<TPage = WorkBuddyJobsStagesListResponse>(
6604
+ params: WorkBuddyJobsStagesListParams,
6605
+ options?: WorkBuddyRequestOptions
6606
+ ): AsyncIterable<TPage>;
6607
+ /**
6608
+ * Get a specific stage within a job.
6609
+ * Operation: PublicApiJobController_getJobStage
6610
+ */
6611
+ getJobStage<TResponse = WorkBuddyJobsStagesGetJobStageResponse>(
6612
+ params: WorkBuddyJobsStagesGetJobStageParams,
6613
+ options?: WorkBuddyRequestOptions
6614
+ ): Promise<TResponse>;
6615
+ }
6616
+
6617
+ export interface WorkBuddyJobsStagesItemsResource {
6618
+ /**
6619
+ * Get all items (line items) for a stage.
6620
+ * Operation: PublicApiJobController_getStageItems
6621
+ */
6622
+ list<TResponse = WorkBuddyJobsStagesItemsListResponse>(
6623
+ params: WorkBuddyJobsStagesItemsListParams,
6624
+ options?: WorkBuddyRequestOptions
6625
+ ): Promise<TResponse>;
6626
+ /** Iterate all items by following cursor pagination for list(). */
6627
+ all<TItem = WorkBuddyPageItem<WorkBuddyJobsStagesItemsListResponse>>(
6628
+ params: WorkBuddyJobsStagesItemsListParams,
6629
+ options?: WorkBuddyRequestOptions
6630
+ ): AsyncIterable<TItem>;
6631
+ /** Iterate raw pages by following cursor pagination for list(). */
6632
+ pages<TPage = WorkBuddyJobsStagesItemsListResponse>(
6633
+ params: WorkBuddyJobsStagesItemsListParams,
6634
+ options?: WorkBuddyRequestOptions
6635
+ ): AsyncIterable<TPage>;
6636
+ /**
6637
+ * Add one or more catalogue-backed line items to a stage.
6638
+ * Operation: PublicApiJobController_createStageItems
6639
+ */
6640
+ createStageItems<TResponse = WorkBuddyJobsStagesItemsCreateStageItemsResponse>(
6641
+ params: WorkBuddyJobsStagesItemsCreateStageItemsParams,
6642
+ options?: WorkBuddyRequestOptions
6643
+ ): Promise<TResponse>;
6644
+
6645
+ /**
6646
+ * Get a specific item within a stage.
6647
+ * Operation: PublicApiJobController_getStageItem
6648
+ */
6649
+ getStageItem<TResponse = WorkBuddyJobsStagesItemsGetStageItemResponse>(
6650
+ params: WorkBuddyJobsStagesItemsGetStageItemParams,
6651
+ options?: WorkBuddyRequestOptions
6652
+ ): Promise<TResponse>;
6653
+
6654
+ /**
6655
+ * Update mutable fields on a stage line item.
6656
+ * Operation: PublicApiJobController_updateStageItem
6657
+ */
6658
+ updateStageItem<TResponse = WorkBuddyJobsStagesItemsUpdateStageItemResponse>(
6659
+ params: WorkBuddyJobsStagesItemsUpdateStageItemParams,
6660
+ options?: WorkBuddyRequestOptions
6661
+ ): Promise<TResponse>;
6662
+
6663
+ /**
6664
+ * Remove or cancel a stage item depending on tenant deletion settings.
6665
+ * Operation: PublicApiJobController_deleteStageItem
6666
+ */
6667
+ deleteStageItem<TResponse = WorkBuddyJobsStagesItemsDeleteStageItemResponse>(
6668
+ params: WorkBuddyJobsStagesItemsDeleteStageItemParams,
6669
+ options?: WorkBuddyRequestOptions
6670
+ ): Promise<TResponse>;
6671
+ }
6672
+
6673
+ export interface WorkBuddyJobsStagesPendingItemsResource {
6674
+ /** Status API operations. */
6675
+ status: WorkBuddyJobsStagesPendingItemsStatusResource;
6676
+ /** Approve API operations. */
6677
+ approve: WorkBuddyJobsStagesPendingItemsApproveResource;
6678
+ /**
6679
+ * List items awaiting approval for a stage.
6680
+ * Operation: PublicJobStagePendingItemController_list
4691
6681
  */
4692
- list<TResponse = WorkBuddyJobsStagesListResponse>(
4693
- params: WorkBuddyJobsStagesListParams,
6682
+ list<TResponse = WorkBuddyJobsStagesPendingItemsListResponse>(
6683
+ params: WorkBuddyJobsStagesPendingItemsListParams,
4694
6684
  options?: WorkBuddyRequestOptions
4695
6685
  ): Promise<TResponse>;
4696
6686
  /** Iterate all items by following cursor pagination for list(). */
4697
- all<TItem = WorkBuddyPageItem<WorkBuddyJobsStagesListResponse>>(
4698
- params: WorkBuddyJobsStagesListParams,
6687
+ all<TItem = WorkBuddyPageItem<WorkBuddyJobsStagesPendingItemsListResponse>>(
6688
+ params: WorkBuddyJobsStagesPendingItemsListParams,
4699
6689
  options?: WorkBuddyRequestOptions
4700
6690
  ): AsyncIterable<TItem>;
4701
6691
  /** Iterate raw pages by following cursor pagination for list(). */
4702
- pages<TPage = WorkBuddyJobsStagesListResponse>(
4703
- params: WorkBuddyJobsStagesListParams,
6692
+ pages<TPage = WorkBuddyJobsStagesPendingItemsListResponse>(
6693
+ params: WorkBuddyJobsStagesPendingItemsListParams,
4704
6694
  options?: WorkBuddyRequestOptions
4705
6695
  ): AsyncIterable<TPage>;
4706
6696
  /**
4707
- * Get a specific stage within a job.
4708
- * Operation: PublicApiJobController_getJobStage
6697
+ * Create one or more items awaiting approval.
6698
+ * Operation: PublicJobStagePendingItemController_create
4709
6699
  */
4710
- getJobStage<TResponse = WorkBuddyJobsStagesGetJobStageResponse>(
4711
- params: WorkBuddyJobsStagesGetJobStageParams,
6700
+ create<TResponse = WorkBuddyJobsStagesPendingItemsCreateResponse>(
6701
+ params: WorkBuddyJobsStagesPendingItemsCreateParams,
4712
6702
  options?: WorkBuddyRequestOptions
4713
6703
  ): Promise<TResponse>;
4714
- }
4715
6704
 
4716
- export interface WorkBuddyJobsStagesItemsResource {
4717
6705
  /**
4718
- * Get all items (line items) for a stage.
4719
- * Operation: PublicApiJobController_getStageItems
6706
+ * Get a specific pending item within a stage.
6707
+ * Operation: PublicJobStagePendingItemController_get
4720
6708
  */
4721
- list<TResponse = WorkBuddyJobsStagesItemsListResponse>(
4722
- params: WorkBuddyJobsStagesItemsListParams,
6709
+ get<TResponse = WorkBuddyJobsStagesPendingItemsGetResponse>(
6710
+ params: WorkBuddyJobsStagesPendingItemsGetParams,
4723
6711
  options?: WorkBuddyRequestOptions
4724
6712
  ): Promise<TResponse>;
4725
- /** Iterate all items by following cursor pagination for list(). */
4726
- all<TItem = WorkBuddyPageItem<WorkBuddyJobsStagesItemsListResponse>>(
4727
- params: WorkBuddyJobsStagesItemsListParams,
6713
+
6714
+ /**
6715
+ * Update general pending-item fields. Use the status route for itemStatus.
6716
+ * Operation: PublicJobStagePendingItemController_update
6717
+ */
6718
+ update<TResponse = WorkBuddyJobsStagesPendingItemsUpdateResponse>(
6719
+ params: WorkBuddyJobsStagesPendingItemsUpdateParams,
4728
6720
  options?: WorkBuddyRequestOptions
4729
- ): AsyncIterable<TItem>;
4730
- /** Iterate raw pages by following cursor pagination for list(). */
4731
- pages<TPage = WorkBuddyJobsStagesItemsListResponse>(
4732
- params: WorkBuddyJobsStagesItemsListParams,
6721
+ ): Promise<TResponse>;
6722
+
6723
+ /**
6724
+ * Delete or decline a pending item according to tenant deletion settings.
6725
+ * Operation: PublicJobStagePendingItemController_delete
6726
+ */
6727
+ delete<TResponse = WorkBuddyJobsStagesPendingItemsDeleteResponse>(
6728
+ params: WorkBuddyJobsStagesPendingItemsDeleteParams,
4733
6729
  options?: WorkBuddyRequestOptions
4734
- ): AsyncIterable<TPage>;
6730
+ ): Promise<TResponse>;
6731
+ }
6732
+
6733
+ export interface WorkBuddyJobsStagesPendingItemsStatusResource {
4735
6734
  /**
4736
- * Get a specific item within a stage.
4737
- * Operation: PublicApiJobController_getStageItem
6735
+ * Set the dedicated pending-item status. No general item fields are accepted.
6736
+ * Operation: PublicJobStagePendingItemController_updateStatus
4738
6737
  */
4739
- getStageItem<TResponse = WorkBuddyJobsStagesItemsGetStageItemResponse>(
4740
- params: WorkBuddyJobsStagesItemsGetStageItemParams,
6738
+ updateStatus<TResponse = WorkBuddyJobsStagesPendingItemsStatusUpdateStatusResponse>(
6739
+ params: WorkBuddyJobsStagesPendingItemsStatusUpdateStatusParams,
6740
+ options?: WorkBuddyRequestOptions
6741
+ ): Promise<TResponse>;
6742
+ }
6743
+
6744
+ export interface WorkBuddyJobsStagesPendingItemsApproveResource {
6745
+ /**
6746
+ * Approve a pending item and promote it to a standard stage item.
6747
+ * Operation: PublicJobStagePendingItemController_approve
6748
+ */
6749
+ approve<TResponse = WorkBuddyJobsStagesPendingItemsApproveApproveResponse>(
6750
+ params: WorkBuddyJobsStagesPendingItemsApproveApproveParams,
4741
6751
  options?: WorkBuddyRequestOptions
4742
6752
  ): Promise<TResponse>;
4743
6753
  }
@@ -4748,7 +6758,7 @@ export interface WorkBuddyJobsStagesResourcesResource {
4748
6758
  /** Status API operations. */
4749
6759
  status: WorkBuddyJobsStagesResourcesStatusResource;
4750
6760
  /**
4751
- * Get all assigned resources for a stage.
6761
+ * List people assigned to the stage via this API: employees (resource rows) and the stage contractor when set. Contractors assigned with POST .../resources appear here with isContractor=true (same shape as the assign response) (WBS-10448). Login contacts auto-created for contractor dispatch are excluded.
4752
6762
  * Operation: PublicJobStageResourceController_list
4753
6763
  */
4754
6764
  list<TResponse = WorkBuddyJobsStagesResourcesListResponse>(
@@ -4766,7 +6776,7 @@ export interface WorkBuddyJobsStagesResourcesResource {
4766
6776
  options?: WorkBuddyRequestOptions
4767
6777
  ): AsyncIterable<TPage>;
4768
6778
  /**
4769
- * Assign a technician or contractor.
6779
+ * Assign an Employee or Subcontractor by contactId. Employee → resource row. Subcontractor → stage contractor (isContractor=true). Both appear on GET list (WBS-10448). contactId is a person Contact id (use /employees for staff), not a CRM Contact from /contacts (WBS-10445 / WBS-10442).
4770
6780
  * Operation: PublicJobStageResourceController_assign
4771
6781
  */
4772
6782
  assign<TResponse = WorkBuddyJobsStagesResourcesAssignResponse>(
@@ -4775,7 +6785,7 @@ export interface WorkBuddyJobsStagesResourcesResource {
4775
6785
  ): Promise<TResponse>;
4776
6786
 
4777
6787
  /**
4778
- * Get a specific resource assignment.
6788
+ * Get one assignment by id. Employee rows use the resource/contact id; the stage contractor uses the contractor contact id (same id as POST assign when isContractor=true) (WBS-10448).
4779
6789
  * Operation: PublicJobStageResourceController_get
4780
6790
  */
4781
6791
  get<TResponse = WorkBuddyJobsStagesResourcesGetResponse>(
@@ -4806,7 +6816,7 @@ export interface WorkBuddyJobsStagesResourcesReissueResource {
4806
6816
 
4807
6817
  export interface WorkBuddyJobsStagesResourcesStatusResource {
4808
6818
  /**
4809
- * Update status (enroute, onsite, checkedout, completed, onhold).
6819
+ * Update status (completed, onhold).
4810
6820
  * Operation: PublicJobStageResourceController_updateStatus
4811
6821
  */
4812
6822
  updateStatus<TResponse = WorkBuddyJobsStagesResourcesStatusUpdateStatusResponse>(
@@ -5263,13 +7273,39 @@ export interface WorkBuddyJobsContactsResource {
5263
7273
  ): Promise<TResponse>;
5264
7274
  }
5265
7275
 
7276
+ export interface WorkBuddyItemsResource {
7277
+ /**
7278
+ * Find a job line item by external integration ID.
7279
+ * Operation: PublicApiJobLineItemController_list
7280
+ */
7281
+ list<TResponse = WorkBuddyItemsListResponse>(
7282
+ params: WorkBuddyItemsListParams,
7283
+ options?: WorkBuddyRequestOptions
7284
+ ): Promise<TResponse>;
7285
+ }
7286
+
7287
+ export interface WorkBuddyPendingItemsResource {
7288
+ /**
7289
+ * Find a pending stage item by its external integration ID.
7290
+ * Operation: PublicApiPendingItemController_list
7291
+ */
7292
+ list<TResponse = WorkBuddyPendingItemsListResponse>(
7293
+ params: WorkBuddyPendingItemsListParams,
7294
+ options?: WorkBuddyRequestOptions
7295
+ ): Promise<TResponse>;
7296
+ }
7297
+
5266
7298
  export interface WorkBuddyStagesResource {
5267
7299
  /** Complete API operations. */
5268
7300
  complete: WorkBuddyStagesCompleteResource;
7301
+ /** In Progress API operations. */
7302
+ inProgress: WorkBuddyStagesInProgressResource;
5269
7303
  /** Finalise API operations. */
5270
7304
  finalise: WorkBuddyStagesFinaliseResource;
5271
7305
  /** Cancel API operations. */
5272
7306
  cancel: WorkBuddyStagesCancelResource;
7307
+ /** On Hold API operations. */
7308
+ onHold: WorkBuddyStagesOnHoldResource;
5273
7309
  /** Reverse API operations. */
5274
7310
  reverse: WorkBuddyStagesReverseResource;
5275
7311
  /** Reissue API operations. */
@@ -5293,7 +7329,7 @@ export interface WorkBuddyStagesResource {
5293
7329
  ): Promise<TResponse>;
5294
7330
 
5295
7331
  /**
5296
- * Permanently delete a stage and all associated items/resources. This action cannot be undone.
7332
+ * Delete a stage. If tenant settings are configured to mark stages and items as cancelled on deletion, the stage is cancelled instead of permanently removed.
5297
7333
  * Operation: PublicJobStageController_delete
5298
7334
  */
5299
7335
  delete<TResponse = WorkBuddyStagesDeleteResponse>(
@@ -5313,7 +7349,7 @@ export interface WorkBuddyStagesResource {
5313
7349
 
5314
7350
  export interface WorkBuddyStagesCompleteResource {
5315
7351
  /**
5316
- * Mark a stage as completed. Field work is done but stage may still need finalisation/billing.
7352
+ * Mark a stage as completed. Field work is done but stage may still need finalisation/billing. Optional statusId selects a tenant Completed status from GET /settings/stage-statuses (systemStatus Completed); omit to use the system Completed status (MAI-2101).
5317
7353
  * Operation: PublicJobStageController_complete
5318
7354
  */
5319
7355
  complete<TResponse = WorkBuddyStagesCompleteCompleteResponse>(
@@ -5322,6 +7358,17 @@ export interface WorkBuddyStagesCompleteResource {
5322
7358
  ): Promise<TResponse>;
5323
7359
  }
5324
7360
 
7361
+ export interface WorkBuddyStagesInProgressResource {
7362
+ /**
7363
+ * Set the stage to an In Progress status. Pass statusId from GET /settings/stage-statuses with systemStatus In Progress (multiple peer statuses may share that systemStatus) (MAI-2101).
7364
+ * Operation: PublicJobStageController_inProgress
7365
+ */
7366
+ inProgress<TResponse = WorkBuddyStagesInProgressInProgressResponse>(
7367
+ params: WorkBuddyStagesInProgressInProgressParams,
7368
+ options?: WorkBuddyRequestOptions
7369
+ ): Promise<TResponse>;
7370
+ }
7371
+
5325
7372
  export interface WorkBuddyStagesFinaliseResource {
5326
7373
  /**
5327
7374
  * Finalise a completed stage. This typically indicates billing/invoicing is complete.
@@ -5344,6 +7391,17 @@ export interface WorkBuddyStagesCancelResource {
5344
7391
  ): Promise<TResponse>;
5345
7392
  }
5346
7393
 
7394
+ export interface WorkBuddyStagesOnHoldResource {
7395
+ /**
7396
+ * Set the stage to an On Hold status. Pass statusId from GET /settings/stage-statuses with systemStatus On Hold (multiple peer statuses may share that systemStatus). Blocked from Completed, Closed, or Finalised.
7397
+ * Operation: PublicJobStageController_onHold
7398
+ */
7399
+ onHold<TResponse = WorkBuddyStagesOnHoldOnHoldResponse>(
7400
+ params: WorkBuddyStagesOnHoldOnHoldParams,
7401
+ options?: WorkBuddyRequestOptions
7402
+ ): Promise<TResponse>;
7403
+ }
7404
+
5347
7405
  export interface WorkBuddyStagesReverseResource {
5348
7406
  /**
5349
7407
  * Reverse (reopen) a stage to a previous status. This is an admin action that bypasses normal transition rules and clears fields appropriate to the target status.
@@ -5373,8 +7431,12 @@ export interface WorkBuddySettingsResource {
5373
7431
  jobStatuses: WorkBuddySettingsJobStatusesResource;
5374
7432
  /** Job Types API operations. */
5375
7433
  jobTypes: WorkBuddySettingsJobTypesResource;
7434
+ /** Job Templates API operations. */
7435
+ jobTemplates: WorkBuddySettingsJobTemplatesResource;
5376
7436
  /** Priorities API operations. */
5377
7437
  priorities: WorkBuddySettingsPrioritiesResource;
7438
+ /** Pricebooks API operations. */
7439
+ pricebooks: WorkBuddySettingsPricebooksResource;
5378
7440
  /** Stage Statuses API operations. */
5379
7441
  stageStatuses: WorkBuddySettingsStageStatusesResource;
5380
7442
  /** Tags API operations. */
@@ -5391,11 +7453,15 @@ export interface WorkBuddySettingsResource {
5391
7453
  itemCategories: WorkBuddySettingsItemCategoriesResource;
5392
7454
  /** Uoms API operations. */
5393
7455
  uoms: WorkBuddySettingsUomsResource;
7456
+ /** Custom Fields API operations. */
7457
+ customFields: WorkBuddySettingsCustomFieldsResource;
7458
+ /** Roles API operations. */
7459
+ roles: WorkBuddySettingsRolesResource;
5394
7460
  }
5395
7461
 
5396
7462
  export interface WorkBuddySettingsEntityStatusesResource {
5397
7463
  /**
5398
- * Retrieve all active statuses for a given entity type. Supported entities: customer, contractor, supplier
7464
+ * Retrieve all active statuses for a given entity type. Supported entities: customer, contractor, supplier, contact, external-user, pending-item
5399
7465
  * Operation: PublicApiEntityStatusController_list
5400
7466
  */
5401
7467
  list<TResponse = WorkBuddySettingsEntityStatusesListResponse>(
@@ -5426,6 +7492,17 @@ export interface WorkBuddySettingsJobTypesResource {
5426
7492
  ): Promise<TResponse>;
5427
7493
  }
5428
7494
 
7495
+ export interface WorkBuddySettingsJobTemplatesResource {
7496
+ /**
7497
+ * Retrieve all active, public job templates configured for the tenant. Use the returned id as the templateId for POST /jobs/template/:templateId.
7498
+ * Operation: PublicApiJobTemplateController_list
7499
+ */
7500
+ list<TResponse = WorkBuddySettingsJobTemplatesListResponse>(
7501
+ params?: WorkBuddySettingsJobTemplatesListParams,
7502
+ options?: WorkBuddyRequestOptions
7503
+ ): Promise<TResponse>;
7504
+ }
7505
+
5429
7506
  export interface WorkBuddySettingsPrioritiesResource {
5430
7507
  /**
5431
7508
  * Retrieve all active priority levels configured for the tenant. Priorities indicate the urgency of jobs (e.g., Critical, High, Medium, Low).
@@ -5437,9 +7514,43 @@ export interface WorkBuddySettingsPrioritiesResource {
5437
7514
  ): Promise<TResponse>;
5438
7515
  }
5439
7516
 
7517
+ export interface WorkBuddySettingsPricebooksResource {
7518
+ /**
7519
+ * Discover tenant pricebooks for a category (customer / contractor / supplier). Use category=customer&status=current&assignableOnly=true for job-create candidates. Optional accountId scopes to a CRM account (includeGlobal defaults true). Each item includes company (owning company) and optional account — both match Settings UI fields.
7520
+ * Operation: PublicApiPriceBookController_list
7521
+ */
7522
+ list<TResponse = WorkBuddySettingsPricebooksListResponse>(
7523
+ params: WorkBuddySettingsPricebooksListParams,
7524
+ options?: WorkBuddyRequestOptions
7525
+ ): Promise<TResponse>;
7526
+
7527
+ /**
7528
+ * Retrieve a pricebook by id (preferred) or exact name (case-insensitive). Pass category when the name may exist in more than one category. Response includes company (owning company) and optional account, matching Settings UI.
7529
+ * Operation: PublicApiPriceBookController_getByIdOrName
7530
+ */
7531
+ getByIdOrName<TResponse = WorkBuddySettingsPricebooksGetByIdOrNameResponse>(
7532
+ params: WorkBuddySettingsPricebooksGetByIdOrNameParams,
7533
+ options?: WorkBuddyRequestOptions
7534
+ ): Promise<TResponse>;
7535
+ }
7536
+
5440
7537
  export interface WorkBuddySettingsStageStatusesResource {
5441
7538
  /**
5442
- * Retrieve all stage statuses configured for the tenant. Stage statuses represent the workflow states a stage (work order) can transition through (e.g., New, Dispatched, En Route, On Site, Completed, Finalised).
7539
+ * Retrieve all stage statuses configured for the tenant (Settings > Stage Status).
7540
+ Each item is a workflow state a stage (work order) can use (e.g. New, Dispatched, En Route, On Site, Completed, Finalised).
7541
+
7542
+ Response fields include:
7543
+ - identity: id, name, systemName, systemStatus, sortOrder
7544
+ - description (nullable)
7545
+ - activityOptions: shareWithCustomer, shareWithField (always present; unset = false)
7546
+ - displayOptions: showInContractorPortal, showInFieldApp (always present)
7547
+
7548
+ Display Options rules (match Settings UI):
7549
+ - Only systemStatus On Hold or In Progress support display options; other systemStatus values return both flags as false
7550
+ - showInFieldApp is not configurable for In Progress and is always false
7551
+ - When supported and not configured, visibility defaults to true (Settings UI default)
7552
+
7553
+ Requires scope: settings:read
5443
7554
  * Operation: PublicApiStageStatusController_list
5444
7555
  */
5445
7556
  list<TResponse = WorkBuddySettingsStageStatusesListResponse>(
@@ -5530,7 +7641,16 @@ export interface WorkBuddySettingsItemsResource {
5530
7641
  ): Promise<TResponse>;
5531
7642
 
5532
7643
  /**
5533
- * Retrieve a settings item by ID.
7644
+ * Create or partially update a settings item using integrationId when supplied, otherwise name. Create still requires mandatory item fields.
7645
+ * Operation: PublicApiItemController_upsert
7646
+ */
7647
+ upsert<TResponse = WorkBuddySettingsItemsUpsertResponse>(
7648
+ params: WorkBuddySettingsItemsUpsertParams,
7649
+ options?: WorkBuddyRequestOptions
7650
+ ): Promise<TResponse>;
7651
+
7652
+ /**
7653
+ * Retrieve a settings item by ID, name, or integration ID.
5534
7654
  * Operation: PublicApiItemController_getById
5535
7655
  */
5536
7656
  get<TResponse = WorkBuddySettingsItemsGetResponse>(
@@ -5555,20 +7675,11 @@ export interface WorkBuddySettingsItemsResource {
5555
7675
  params: WorkBuddySettingsItemsDeleteParams,
5556
7676
  options?: WorkBuddyRequestOptions
5557
7677
  ): Promise<TResponse>;
5558
-
5559
- /**
5560
- * Create or update a settings item using integrationId or name as the match key.
5561
- * Operation: PublicApiItemController_upsert
5562
- */
5563
- upsert<TResponse = WorkBuddySettingsItemsUpsertResponse>(
5564
- params: WorkBuddySettingsItemsUpsertParams,
5565
- options?: WorkBuddyRequestOptions
5566
- ): Promise<TResponse>;
5567
7678
  }
5568
7679
 
5569
7680
  export interface WorkBuddySettingsItemCategoriesResource {
5570
7681
  /**
5571
- * Retrieve active item categories and sub-categories.
7682
+ * Retrieve active item categories and sub-categories. Use search, name, or id to filter by category/sub-category name or id.
5572
7683
  * Operation: PublicApiItemCategoryController_list
5573
7684
  */
5574
7685
  list<TResponse = WorkBuddySettingsItemCategoriesListResponse>(
@@ -5597,6 +7708,90 @@ export interface WorkBuddySettingsUomsResource {
5597
7708
  ): Promise<TResponse>;
5598
7709
  }
5599
7710
 
7711
+ export interface WorkBuddySettingsCustomFieldsResource {
7712
+ /** Jobs API operations. */
7713
+ jobs: WorkBuddySettingsCustomFieldsJobsResource;
7714
+ /** Stages API operations. */
7715
+ stages: WorkBuddySettingsCustomFieldsStagesResource;
7716
+ /** Accounts API operations. */
7717
+ accounts: WorkBuddySettingsCustomFieldsAccountsResource;
7718
+ /** Items API operations. */
7719
+ items: WorkBuddySettingsCustomFieldsItemsResource;
7720
+ }
7721
+
7722
+ export interface WorkBuddySettingsCustomFieldsJobsResource {
7723
+ /**
7724
+ * Retrieve configured custom fields that may be used in Job customFields payloads.
7725
+ * Operation: PublicApiCustomFieldController_listJobCustomFields
7726
+ */
7727
+ listJobCustomFields<TResponse = WorkBuddySettingsCustomFieldsJobsListJobCustomFieldsResponse>(
7728
+ params?: WorkBuddySettingsCustomFieldsJobsListJobCustomFieldsParams,
7729
+ options?: WorkBuddyRequestOptions
7730
+ ): Promise<TResponse>;
7731
+ }
7732
+
7733
+ export interface WorkBuddySettingsCustomFieldsStagesResource {
7734
+ /**
7735
+ * Retrieve configured custom fields that may be used in Stage customFields payloads.
7736
+ * Operation: PublicApiCustomFieldController_listStageCustomFields
7737
+ */
7738
+ listStageCustomFields<TResponse = WorkBuddySettingsCustomFieldsStagesListStageCustomFieldsResponse>(
7739
+ params?: WorkBuddySettingsCustomFieldsStagesListStageCustomFieldsParams,
7740
+ options?: WorkBuddyRequestOptions
7741
+ ): Promise<TResponse>;
7742
+ }
7743
+
7744
+ export interface WorkBuddySettingsCustomFieldsAccountsResource {
7745
+ /**
7746
+ * Retrieve configured custom fields that may be used in CRM account customFields payloads.
7747
+ * Operation: PublicApiCustomFieldController_listAccountCustomFields
7748
+ */
7749
+ listAccountCustomFields<TResponse = WorkBuddySettingsCustomFieldsAccountsListAccountCustomFieldsResponse>(
7750
+ params?: WorkBuddySettingsCustomFieldsAccountsListAccountCustomFieldsParams,
7751
+ options?: WorkBuddyRequestOptions
7752
+ ): Promise<TResponse>;
7753
+ }
7754
+
7755
+ export interface WorkBuddySettingsCustomFieldsItemsResource {
7756
+ /**
7757
+ * Retrieve configured custom fields that may be used in settings item customFields payloads.
7758
+ * Operation: PublicApiCustomFieldController_listItemCustomFields
7759
+ */
7760
+ listItemCustomFields<TResponse = WorkBuddySettingsCustomFieldsItemsListItemCustomFieldsResponse>(
7761
+ params?: WorkBuddySettingsCustomFieldsItemsListItemCustomFieldsParams,
7762
+ options?: WorkBuddyRequestOptions
7763
+ ): Promise<TResponse>;
7764
+ }
7765
+
7766
+ export interface WorkBuddySettingsRolesResource {
7767
+ /** Client Portal API operations. */
7768
+ clientPortal: WorkBuddySettingsRolesClientPortalResource;
7769
+ /** Contractor Portal API operations. */
7770
+ contractorPortal: WorkBuddySettingsRolesContractorPortalResource;
7771
+ }
7772
+
7773
+ export interface WorkBuddySettingsRolesClientPortalResource {
7774
+ /**
7775
+ * Roles assignable to customer login contacts (UserType.Client). Includes custom client roles; includes built-in system client roles only when Enable System Security Roles is on for the tenant. Use item.id as roleId when login is true on contact create/invite.
7776
+ * Operation: PublicApiPortalRoleController_listClientPortal
7777
+ */
7778
+ list<TResponse = WorkBuddySettingsRolesClientPortalListResponse>(
7779
+ params?: WorkBuddySettingsRolesClientPortalListParams,
7780
+ options?: WorkBuddyRequestOptions
7781
+ ): Promise<TResponse>;
7782
+ }
7783
+
7784
+ export interface WorkBuddySettingsRolesContractorPortalResource {
7785
+ /**
7786
+ * Roles assignable to contractor login contacts (UserType.Subcontractor). Includes custom contractor roles; includes built-in system contractor roles only when Enable System Security Roles is on for the tenant. Use item.id as roleId when login is true on contact create/invite.
7787
+ * Operation: PublicApiPortalRoleController_listContractorPortal
7788
+ */
7789
+ list<TResponse = WorkBuddySettingsRolesContractorPortalListResponse>(
7790
+ params?: WorkBuddySettingsRolesContractorPortalListParams,
7791
+ options?: WorkBuddyRequestOptions
7792
+ ): Promise<TResponse>;
7793
+ }
7794
+
5600
7795
  export interface WorkBuddyAttachmentsResource {
5601
7796
  /**
5602
7797
  * Creates an upload session and returns a SAS URL for direct upload to Azure Blob Storage.
@@ -5657,6 +7852,8 @@ export interface WorkBuddyCrmResource {
5657
7852
  }
5658
7853
 
5659
7854
  export interface WorkBuddyCrmCustomersResource {
7855
+ /** Status API operations. */
7856
+ status: WorkBuddyCrmCustomersStatusResource;
5660
7857
  /** Contacts API operations. */
5661
7858
  contacts: WorkBuddyCrmCustomersContactsResource;
5662
7859
  /** Sites API operations. */
@@ -5705,11 +7902,33 @@ export interface WorkBuddyCrmCustomersResource {
5705
7902
  params: WorkBuddyCrmCustomersUpdateParams,
5706
7903
  options?: WorkBuddyRequestOptions
5707
7904
  ): Promise<TResponse>;
7905
+
7906
+ /**
7907
+ * Delete customer
7908
+ * Operation: PublicCrmCustomerController_delete
7909
+ */
7910
+ delete<TResponse = WorkBuddyCrmCustomersDeleteResponse>(
7911
+ params: WorkBuddyCrmCustomersDeleteParams,
7912
+ options?: WorkBuddyRequestOptions
7913
+ ): Promise<TResponse>;
7914
+ }
7915
+
7916
+ export interface WorkBuddyCrmCustomersStatusResource {
7917
+ /**
7918
+ * Update customer status
7919
+ * Operation: PublicCrmCustomerController_updateStatus
7920
+ */
7921
+ updateStatus<TResponse = WorkBuddyCrmCustomersStatusUpdateStatusResponse>(
7922
+ params: WorkBuddyCrmCustomersStatusUpdateStatusParams,
7923
+ options?: WorkBuddyRequestOptions
7924
+ ): Promise<TResponse>;
5708
7925
  }
5709
7926
 
5710
7927
  export interface WorkBuddyCrmCustomersContactsResource {
7928
+ /** Invite API operations. */
7929
+ invite: WorkBuddyCrmCustomersContactsInviteResource;
5711
7930
  /**
5712
- * List contacts for customer
7931
+ * List contacts for customer (contacts + external users)
5713
7932
  * Operation: PublicCrmCustomerController_listContacts
5714
7933
  */
5715
7934
  list<TResponse = WorkBuddyCrmCustomersContactsListResponse>(
@@ -5726,6 +7945,34 @@ export interface WorkBuddyCrmCustomersContactsResource {
5726
7945
  params: WorkBuddyCrmCustomersContactsListParams,
5727
7946
  options?: WorkBuddyRequestOptions
5728
7947
  ): AsyncIterable<TPage>;
7948
+ /**
7949
+ * Create customer contact
7950
+ * Operation: PublicCrmCustomerController_createContact
7951
+ */
7952
+ createContact<TResponse = WorkBuddyCrmCustomersContactsCreateContactResponse>(
7953
+ params: WorkBuddyCrmCustomersContactsCreateContactParams,
7954
+ options?: WorkBuddyRequestOptions
7955
+ ): Promise<TResponse>;
7956
+
7957
+ /**
7958
+ * Delete customer contact
7959
+ * Operation: PublicCrmCustomerController_deleteContact
7960
+ */
7961
+ deleteContact<TResponse = WorkBuddyCrmCustomersContactsDeleteContactResponse>(
7962
+ params: WorkBuddyCrmCustomersContactsDeleteContactParams,
7963
+ options?: WorkBuddyRequestOptions
7964
+ ): Promise<TResponse>;
7965
+ }
7966
+
7967
+ export interface WorkBuddyCrmCustomersContactsInviteResource {
7968
+ /**
7969
+ * Invite contact (CRM)
7970
+ * Operation: PublicCrmCustomerController_inviteContact
7971
+ */
7972
+ inviteContact<TResponse = WorkBuddyCrmCustomersContactsInviteInviteContactResponse>(
7973
+ params: WorkBuddyCrmCustomersContactsInviteInviteContactParams,
7974
+ options?: WorkBuddyRequestOptions
7975
+ ): Promise<TResponse>;
5729
7976
  }
5730
7977
 
5731
7978
  export interface WorkBuddyCrmCustomersSitesResource {
@@ -5779,6 +8026,10 @@ export interface WorkBuddyCrmEmployeesResource {
5779
8026
  }
5780
8027
 
5781
8028
  export interface WorkBuddyCrmContractorsResource {
8029
+ /** Status API operations. */
8030
+ status: WorkBuddyCrmContractorsStatusResource;
8031
+ /** Contacts API operations. */
8032
+ contacts: WorkBuddyCrmContractorsContactsResource;
5782
8033
  /**
5783
8034
  * List contractors
5784
8035
  * Operation: PublicCrmContractorController_list
@@ -5823,9 +8074,82 @@ export interface WorkBuddyCrmContractorsResource {
5823
8074
  params: WorkBuddyCrmContractorsUpdateParams,
5824
8075
  options?: WorkBuddyRequestOptions
5825
8076
  ): Promise<TResponse>;
8077
+
8078
+ /**
8079
+ * Delete contractor
8080
+ * Operation: PublicCrmContractorController_delete
8081
+ */
8082
+ delete<TResponse = WorkBuddyCrmContractorsDeleteResponse>(
8083
+ params: WorkBuddyCrmContractorsDeleteParams,
8084
+ options?: WorkBuddyRequestOptions
8085
+ ): Promise<TResponse>;
8086
+ }
8087
+
8088
+ export interface WorkBuddyCrmContractorsStatusResource {
8089
+ /**
8090
+ * Update contractor status
8091
+ * Operation: PublicCrmContractorController_updateStatus
8092
+ */
8093
+ updateStatus<TResponse = WorkBuddyCrmContractorsStatusUpdateStatusResponse>(
8094
+ params: WorkBuddyCrmContractorsStatusUpdateStatusParams,
8095
+ options?: WorkBuddyRequestOptions
8096
+ ): Promise<TResponse>;
8097
+ }
8098
+
8099
+ export interface WorkBuddyCrmContractorsContactsResource {
8100
+ /** Invite API operations. */
8101
+ invite: WorkBuddyCrmContractorsContactsInviteResource;
8102
+ /**
8103
+ * List contacts for contractor (contacts + external users)
8104
+ * Operation: PublicCrmContractorController_listContacts
8105
+ */
8106
+ list<TResponse = WorkBuddyCrmContractorsContactsListResponse>(
8107
+ params: WorkBuddyCrmContractorsContactsListParams,
8108
+ options?: WorkBuddyRequestOptions
8109
+ ): Promise<TResponse>;
8110
+ /** Iterate all items by following cursor pagination for list(). */
8111
+ all<TItem = WorkBuddyPageItem<WorkBuddyCrmContractorsContactsListResponse>>(
8112
+ params: WorkBuddyCrmContractorsContactsListParams,
8113
+ options?: WorkBuddyRequestOptions
8114
+ ): AsyncIterable<TItem>;
8115
+ /** Iterate raw pages by following cursor pagination for list(). */
8116
+ pages<TPage = WorkBuddyCrmContractorsContactsListResponse>(
8117
+ params: WorkBuddyCrmContractorsContactsListParams,
8118
+ options?: WorkBuddyRequestOptions
8119
+ ): AsyncIterable<TPage>;
8120
+ /**
8121
+ * Create contractor contact
8122
+ * Operation: PublicCrmContractorController_createContact
8123
+ */
8124
+ createContact<TResponse = WorkBuddyCrmContractorsContactsCreateContactResponse>(
8125
+ params: WorkBuddyCrmContractorsContactsCreateContactParams,
8126
+ options?: WorkBuddyRequestOptions
8127
+ ): Promise<TResponse>;
8128
+
8129
+ /**
8130
+ * Delete contractor contact
8131
+ * Operation: PublicCrmContractorController_deleteContact
8132
+ */
8133
+ deleteContact<TResponse = WorkBuddyCrmContractorsContactsDeleteContactResponse>(
8134
+ params: WorkBuddyCrmContractorsContactsDeleteContactParams,
8135
+ options?: WorkBuddyRequestOptions
8136
+ ): Promise<TResponse>;
8137
+ }
8138
+
8139
+ export interface WorkBuddyCrmContractorsContactsInviteResource {
8140
+ /**
8141
+ * Invite contact (CRM > Contractors)
8142
+ * Operation: PublicCrmContractorController_inviteContact
8143
+ */
8144
+ inviteContact<TResponse = WorkBuddyCrmContractorsContactsInviteInviteContactResponse>(
8145
+ params: WorkBuddyCrmContractorsContactsInviteInviteContactParams,
8146
+ options?: WorkBuddyRequestOptions
8147
+ ): Promise<TResponse>;
5826
8148
  }
5827
8149
 
5828
8150
  export interface WorkBuddyCrmSuppliersResource {
8151
+ /** Status API operations. */
8152
+ status: WorkBuddyCrmSuppliersStatusResource;
5829
8153
  /**
5830
8154
  * List suppliers
5831
8155
  * Operation: PublicCrmSupplierController_list
@@ -5870,6 +8194,26 @@ export interface WorkBuddyCrmSuppliersResource {
5870
8194
  params: WorkBuddyCrmSuppliersUpdateParams,
5871
8195
  options?: WorkBuddyRequestOptions
5872
8196
  ): Promise<TResponse>;
8197
+
8198
+ /**
8199
+ * Delete supplier
8200
+ * Operation: PublicCrmSupplierController_delete
8201
+ */
8202
+ delete<TResponse = WorkBuddyCrmSuppliersDeleteResponse>(
8203
+ params: WorkBuddyCrmSuppliersDeleteParams,
8204
+ options?: WorkBuddyRequestOptions
8205
+ ): Promise<TResponse>;
8206
+ }
8207
+
8208
+ export interface WorkBuddyCrmSuppliersStatusResource {
8209
+ /**
8210
+ * Update supplier status
8211
+ * Operation: PublicCrmSupplierController_updateStatus
8212
+ */
8213
+ updateStatus<TResponse = WorkBuddyCrmSuppliersStatusUpdateStatusResponse>(
8214
+ params: WorkBuddyCrmSuppliersStatusUpdateStatusParams,
8215
+ options?: WorkBuddyRequestOptions
8216
+ ): Promise<TResponse>;
5873
8217
  }
5874
8218
 
5875
8219
  export interface WorkBuddyCrmCompaniesResource {
@@ -5921,7 +8265,7 @@ export interface WorkBuddyCrmExternalUsersResource {
5921
8265
  options?: WorkBuddyRequestOptions
5922
8266
  ): AsyncIterable<TPage>;
5923
8267
  /**
5924
- * Get external user by ID
8268
+ * Login Contact (portal user). parents lists active parent accounts only; portal role is parents[].role.
5925
8269
  * Operation: PublicCrmExternalUserController_getById
5926
8270
  */
5927
8271
  get<TResponse = WorkBuddyCrmExternalUsersGetResponse>(
@@ -5931,8 +8275,10 @@ export interface WorkBuddyCrmExternalUsersResource {
5931
8275
  }
5932
8276
 
5933
8277
  export interface WorkBuddyCrmContactsResource {
8278
+ /** Status API operations. */
8279
+ status: WorkBuddyCrmContactsStatusResource;
5934
8280
  /**
5935
- * List contacts (Basic and Login contacts)
8281
+ * List contacts (contacts + external users)
5936
8282
  * Operation: PublicCrmContactController_list
5937
8283
  */
5938
8284
  list<TResponse = WorkBuddyCrmContactsListResponse>(
@@ -5950,13 +8296,33 @@ export interface WorkBuddyCrmContactsResource {
5950
8296
  options?: WorkBuddyRequestOptions
5951
8297
  ): AsyncIterable<TPage>;
5952
8298
  /**
5953
- * Get contact by ID
8299
+ * Returns a people contact (basic or Login Contact). parents lists active parent accounts only (inactive/soft-deleted omitted); portal role for Login Contacts is parents[].role.
5954
8300
  * Operation: PublicCrmContactController_getById
5955
8301
  */
5956
8302
  get<TResponse = WorkBuddyCrmContactsGetResponse>(
5957
8303
  params: WorkBuddyCrmContactsGetParams,
5958
8304
  options?: WorkBuddyRequestOptions
5959
8305
  ): Promise<TResponse>;
8306
+
8307
+ /**
8308
+ * Update contact
8309
+ * Operation: PublicCrmContactController_update
8310
+ */
8311
+ update<TResponse = WorkBuddyCrmContactsUpdateResponse>(
8312
+ params: WorkBuddyCrmContactsUpdateParams,
8313
+ options?: WorkBuddyRequestOptions
8314
+ ): Promise<TResponse>;
8315
+ }
8316
+
8317
+ export interface WorkBuddyCrmContactsStatusResource {
8318
+ /**
8319
+ * Update contact status
8320
+ * Operation: PublicCrmContactController_updateStatus
8321
+ */
8322
+ updateStatus<TResponse = WorkBuddyCrmContactsStatusUpdateStatusResponse>(
8323
+ params: WorkBuddyCrmContactsStatusUpdateStatusParams,
8324
+ options?: WorkBuddyRequestOptions
8325
+ ): Promise<TResponse>;
5960
8326
  }
5961
8327
 
5962
8328
  export interface WorkBuddyCrmInvitesResource {
@@ -5989,8 +8355,10 @@ export interface WorkBuddyCrmInvitesResource {
5989
8355
  }
5990
8356
 
5991
8357
  export interface WorkBuddyCrmSitesResource {
8358
+ /** Contacts API operations. */
8359
+ contacts: WorkBuddyCrmSitesContactsResource;
5992
8360
  /**
5993
- * List all sites
8361
+ * List CRM sites for the tenant (Managed and Account only — Adhoc sites are excluded). Each item includes type (Managed | Account), optional primaryContact, and address. Optional search filters by site name/address tokens (space-separated words; all must match).
5994
8362
  * Operation: PublicCrmSiteController_list
5995
8363
  */
5996
8364
  list<TResponse = WorkBuddyCrmSitesListResponse>(
@@ -6008,7 +8376,7 @@ export interface WorkBuddyCrmSitesResource {
6008
8376
  options?: WorkBuddyRequestOptions
6009
8377
  ): AsyncIterable<TPage>;
6010
8378
  /**
6011
- * Get site by ID
8379
+ * Retrieve a CRM site by id (Managed or Account only). Adhoc sites are not exposed. Includes primaryContact when set (UI Primary Contact). type is CRM Site Type — not address.type.
6012
8380
  * Operation: PublicCrmSiteController_getById
6013
8381
  */
6014
8382
  get<TResponse = WorkBuddyCrmSitesGetResponse>(
@@ -6017,6 +8385,27 @@ export interface WorkBuddyCrmSitesResource {
6017
8385
  ): Promise<TResponse>;
6018
8386
  }
6019
8387
 
8388
+ export interface WorkBuddyCrmSitesContactsResource {
8389
+ /**
8390
+ * List contacts linked to this site (same pattern as GET /customers/{id}/contacts). Returns basic contacts and external users parented to the site.
8391
+ * Operation: PublicCrmSiteController_listContacts
8392
+ */
8393
+ list<TResponse = WorkBuddyCrmSitesContactsListResponse>(
8394
+ params: WorkBuddyCrmSitesContactsListParams,
8395
+ options?: WorkBuddyRequestOptions
8396
+ ): Promise<TResponse>;
8397
+ /** Iterate all items by following cursor pagination for list(). */
8398
+ all<TItem = WorkBuddyPageItem<WorkBuddyCrmSitesContactsListResponse>>(
8399
+ params: WorkBuddyCrmSitesContactsListParams,
8400
+ options?: WorkBuddyRequestOptions
8401
+ ): AsyncIterable<TItem>;
8402
+ /** Iterate raw pages by following cursor pagination for list(). */
8403
+ pages<TPage = WorkBuddyCrmSitesContactsListResponse>(
8404
+ params: WorkBuddyCrmSitesContactsListParams,
8405
+ options?: WorkBuddyRequestOptions
8406
+ ): AsyncIterable<TPage>;
8407
+ }
8408
+
6020
8409
  export interface WorkBuddyWebhooksResource {
6021
8410
  /** Entities API operations. */
6022
8411
  entities: WorkBuddyWebhooksEntitiesResource;