servicem8 0.9.18 → 0.9.19

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 (120) hide show
  1. package/api.json +312 -318
  2. package/bin/mcp-server.js +8 -25
  3. package/bin/mcp-server.js.map +13 -13
  4. package/dist/commonjs/funcs/jobTemplatesCreateJobFromTemplate.d.ts +1 -1
  5. package/dist/commonjs/funcs/jobTemplatesCreateJobFromTemplate.js +1 -1
  6. package/dist/commonjs/funcs/jobTemplatesCreateJobTemplates.d.ts +0 -3
  7. package/dist/commonjs/funcs/jobTemplatesCreateJobTemplates.d.ts.map +1 -1
  8. package/dist/commonjs/funcs/jobTemplatesCreateJobTemplates.js +0 -3
  9. package/dist/commonjs/funcs/jobTemplatesCreateJobTemplates.js.map +1 -1
  10. package/dist/commonjs/funcs/jobTemplatesDeleteJobTemplates.d.ts +0 -3
  11. package/dist/commonjs/funcs/jobTemplatesDeleteJobTemplates.d.ts.map +1 -1
  12. package/dist/commonjs/funcs/jobTemplatesDeleteJobTemplates.js +0 -3
  13. package/dist/commonjs/funcs/jobTemplatesDeleteJobTemplates.js.map +1 -1
  14. package/dist/commonjs/funcs/jobTemplatesUpdateJobTemplates.d.ts +0 -5
  15. package/dist/commonjs/funcs/jobTemplatesUpdateJobTemplates.d.ts.map +1 -1
  16. package/dist/commonjs/funcs/jobTemplatesUpdateJobTemplates.js +0 -5
  17. package/dist/commonjs/funcs/jobTemplatesUpdateJobTemplates.js.map +1 -1
  18. package/dist/commonjs/lib/config.d.ts +3 -3
  19. package/dist/commonjs/lib/config.js +3 -3
  20. package/dist/commonjs/mcp-server/mcp-server.js +1 -1
  21. package/dist/commonjs/mcp-server/server.js +1 -1
  22. package/dist/commonjs/mcp-server/tools/jobTemplatesCreateJobFromTemplate.js +1 -1
  23. package/dist/commonjs/mcp-server/tools/jobTemplatesCreateJobTemplates.d.ts.map +1 -1
  24. package/dist/commonjs/mcp-server/tools/jobTemplatesCreateJobTemplates.js +0 -5
  25. package/dist/commonjs/mcp-server/tools/jobTemplatesCreateJobTemplates.js.map +1 -1
  26. package/dist/commonjs/mcp-server/tools/jobTemplatesDeleteJobTemplates.d.ts.map +1 -1
  27. package/dist/commonjs/mcp-server/tools/jobTemplatesDeleteJobTemplates.js +0 -5
  28. package/dist/commonjs/mcp-server/tools/jobTemplatesDeleteJobTemplates.js.map +1 -1
  29. package/dist/commonjs/mcp-server/tools/jobTemplatesUpdateJobTemplates.d.ts.map +1 -1
  30. package/dist/commonjs/mcp-server/tools/jobTemplatesUpdateJobTemplates.js +1 -8
  31. package/dist/commonjs/mcp-server/tools/jobTemplatesUpdateJobTemplates.js.map +1 -1
  32. package/dist/commonjs/sdk/jobtemplates.d.ts +1 -12
  33. package/dist/commonjs/sdk/jobtemplates.d.ts.map +1 -1
  34. package/dist/commonjs/sdk/jobtemplates.js +1 -12
  35. package/dist/commonjs/sdk/jobtemplates.js.map +1 -1
  36. package/dist/esm/funcs/jobTemplatesCreateJobFromTemplate.d.ts +1 -1
  37. package/dist/esm/funcs/jobTemplatesCreateJobFromTemplate.js +1 -1
  38. package/dist/esm/funcs/jobTemplatesCreateJobTemplates.d.ts +0 -3
  39. package/dist/esm/funcs/jobTemplatesCreateJobTemplates.d.ts.map +1 -1
  40. package/dist/esm/funcs/jobTemplatesCreateJobTemplates.js +0 -3
  41. package/dist/esm/funcs/jobTemplatesCreateJobTemplates.js.map +1 -1
  42. package/dist/esm/funcs/jobTemplatesDeleteJobTemplates.d.ts +0 -3
  43. package/dist/esm/funcs/jobTemplatesDeleteJobTemplates.d.ts.map +1 -1
  44. package/dist/esm/funcs/jobTemplatesDeleteJobTemplates.js +0 -3
  45. package/dist/esm/funcs/jobTemplatesDeleteJobTemplates.js.map +1 -1
  46. package/dist/esm/funcs/jobTemplatesUpdateJobTemplates.d.ts +0 -5
  47. package/dist/esm/funcs/jobTemplatesUpdateJobTemplates.d.ts.map +1 -1
  48. package/dist/esm/funcs/jobTemplatesUpdateJobTemplates.js +0 -5
  49. package/dist/esm/funcs/jobTemplatesUpdateJobTemplates.js.map +1 -1
  50. package/dist/esm/lib/config.d.ts +3 -3
  51. package/dist/esm/lib/config.js +3 -3
  52. package/dist/esm/mcp-server/mcp-server.js +1 -1
  53. package/dist/esm/mcp-server/server.js +1 -1
  54. package/dist/esm/mcp-server/tools/jobTemplatesCreateJobFromTemplate.js +1 -1
  55. package/dist/esm/mcp-server/tools/jobTemplatesCreateJobTemplates.d.ts.map +1 -1
  56. package/dist/esm/mcp-server/tools/jobTemplatesCreateJobTemplates.js +0 -5
  57. package/dist/esm/mcp-server/tools/jobTemplatesCreateJobTemplates.js.map +1 -1
  58. package/dist/esm/mcp-server/tools/jobTemplatesDeleteJobTemplates.d.ts.map +1 -1
  59. package/dist/esm/mcp-server/tools/jobTemplatesDeleteJobTemplates.js +0 -5
  60. package/dist/esm/mcp-server/tools/jobTemplatesDeleteJobTemplates.js.map +1 -1
  61. package/dist/esm/mcp-server/tools/jobTemplatesUpdateJobTemplates.d.ts.map +1 -1
  62. package/dist/esm/mcp-server/tools/jobTemplatesUpdateJobTemplates.js +1 -8
  63. package/dist/esm/mcp-server/tools/jobTemplatesUpdateJobTemplates.js.map +1 -1
  64. package/dist/esm/sdk/jobtemplates.d.ts +1 -12
  65. package/dist/esm/sdk/jobtemplates.d.ts.map +1 -1
  66. package/dist/esm/sdk/jobtemplates.js +1 -12
  67. package/dist/esm/sdk/jobtemplates.js.map +1 -1
  68. package/docs/sdks/allocationwindows/README.md +9 -4
  69. package/docs/sdks/assets/README.md +10 -6
  70. package/docs/sdks/assettypefields/README.md +13 -8
  71. package/docs/sdks/assettypes/README.md +9 -4
  72. package/docs/sdks/attachments/README.md +17 -12
  73. package/docs/sdks/badges/README.md +17 -12
  74. package/docs/sdks/bundles/README.md +9 -4
  75. package/docs/sdks/categories/README.md +9 -4
  76. package/docs/sdks/clients/README.md +13 -8
  77. package/docs/sdks/companycontacts/README.md +13 -8
  78. package/docs/sdks/emailtemplates/README.md +9 -4
  79. package/docs/sdks/feedback/README.md +13 -8
  80. package/docs/sdks/formfields/README.md +13 -8
  81. package/docs/sdks/formresponses/README.md +33 -28
  82. package/docs/sdks/forms/README.md +13 -8
  83. package/docs/sdks/inbox/README.md +8 -0
  84. package/docs/sdks/jobactivities/README.md +25 -20
  85. package/docs/sdks/joballocations/README.md +29 -24
  86. package/docs/sdks/jobchecklists/README.md +37 -32
  87. package/docs/sdks/jobcontacts/README.md +13 -8
  88. package/docs/sdks/jobmaterialbundles/README.md +17 -12
  89. package/docs/sdks/jobmaterials/README.md +25 -20
  90. package/docs/sdks/jobpayments/README.md +21 -16
  91. package/docs/sdks/jobqueues/README.md +9 -4
  92. package/docs/sdks/jobs/README.md +37 -32
  93. package/docs/sdks/jobtemplates/README.md +12 -21
  94. package/docs/sdks/knowledgearticles/README.md +9 -4
  95. package/docs/sdks/locations/README.md +9 -4
  96. package/docs/sdks/materials/README.md +13 -8
  97. package/docs/sdks/notes/README.md +17 -12
  98. package/docs/sdks/search/README.md +3 -0
  99. package/docs/sdks/securityroles/README.md +9 -4
  100. package/docs/sdks/smstemplates/README.md +9 -4
  101. package/docs/sdks/staffmembers/README.md +17 -12
  102. package/docs/sdks/staffmessages/README.md +21 -16
  103. package/docs/sdks/tasks/README.md +25 -20
  104. package/docs/sdks/taxrates/README.md +9 -4
  105. package/docs/sdks/vendors/README.md +5 -2
  106. package/examples/package-lock.json +1 -1
  107. package/jsr.json +1 -1
  108. package/package.json +1 -1
  109. package/src/funcs/jobTemplatesCreateJobFromTemplate.ts +1 -1
  110. package/src/funcs/jobTemplatesCreateJobTemplates.ts +0 -3
  111. package/src/funcs/jobTemplatesDeleteJobTemplates.ts +0 -3
  112. package/src/funcs/jobTemplatesUpdateJobTemplates.ts +0 -5
  113. package/src/lib/config.ts +3 -3
  114. package/src/mcp-server/mcp-server.ts +1 -1
  115. package/src/mcp-server/server.ts +1 -1
  116. package/src/mcp-server/tools/jobTemplatesCreateJobFromTemplate.ts +1 -1
  117. package/src/mcp-server/tools/jobTemplatesCreateJobTemplates.ts +0 -5
  118. package/src/mcp-server/tools/jobTemplatesDeleteJobTemplates.ts +0 -5
  119. package/src/mcp-server/tools/jobTemplatesUpdateJobTemplates.ts +1 -8
  120. package/src/sdk/jobtemplates.ts +1 -12
@@ -28,6 +28,7 @@ This endpoint requires the following OAuth scope **read_jobs**.
28
28
 
29
29
  ### Example Usage
30
30
 
31
+ <!-- UsageSnippet language="typescript" operationID="listJobs" method="get" path="/job.json" -->
31
32
  ```typescript
32
33
  import { ServiceM8 } from "servicem8";
33
34
 
@@ -110,6 +111,7 @@ UUID is optional for record creation. If no UUID is supplied, a UUID will be aut
110
111
 
111
112
  ### Example Usage
112
113
 
114
+ <!-- UsageSnippet language="typescript" operationID="createJobs" method="post" path="/job.json" -->
113
115
  ```typescript
114
116
  import { ServiceM8 } from "servicem8";
115
117
 
@@ -121,25 +123,25 @@ const serviceM8 = new ServiceM8({
121
123
 
122
124
  async function run() {
123
125
  const result = await serviceM8.jobs.createJobs({
124
- createdByStaffUuid: "123e4567-8521-4ed2-b37f-230ef650592b",
126
+ createdByStaffUuid: "123e4567-4057-4a83-844b-230fef0ac94b",
125
127
  date: "YYYY-MM-DD",
126
- companyUuid: "123e4567-3772-4eab-bfd1-230efd2b4dfb",
128
+ companyUuid: "123e4567-9907-41d4-adc7-230fe5ce573b",
127
129
  status: "Unsuccessful",
128
130
  paymentDate: "2025-07-01 12:00:00",
129
- paymentActionedByUuid: "123e4567-038b-451e-8909-230ef498b44b",
130
- categoryUuid: "123e4567-e98e-4839-a2ab-230ef0df73fb",
131
+ paymentActionedByUuid: "123e4567-57de-41ae-81fd-230fe1c62a4b",
132
+ categoryUuid: "123e4567-d0e8-4fbe-9bec-230fe274116b",
131
133
  invoiceSentStamp: "2025-07-01 12:00:00",
132
- queueUuid: "123e4567-5f1c-4959-ba25-230ef5e4576b",
134
+ queueUuid: "123e4567-7deb-405b-aeab-230fe120d4fb",
133
135
  queueExpiryDate: "2025-07-01 12:00:00",
134
- queueAssignedStaffUuid: "123e4567-6b60-484d-aa31-230ef05fb92b",
136
+ queueAssignedStaffUuid: "123e4567-ad48-4bee-af18-230fe174423b",
135
137
  quoteDate: "2025-07-01 12:00:00",
136
138
  quoteSentStamp: "2025-07-01 12:00:00",
137
139
  workOrderDate: "2025-07-01 12:00:00",
138
- uuid: "123e4567-7bae-4ed0-9c6e-230ef148febb",
140
+ uuid: "123e4567-57d3-4385-87e9-230febc4384b",
139
141
  paymentProcessedStamp: "2025-07-01 12:00:00",
140
142
  paymentReceivedStamp: "2025-07-01 12:00:00",
141
143
  completionDate: "2025-07-01 12:00:00",
142
- completionActionedByUuid: "123e4567-6645-4b13-a439-230ef8a8073b",
144
+ completionActionedByUuid: "123e4567-ec7e-4a1a-b65c-230fed7f5feb",
143
145
  unsuccessfulDate: "2025-07-01 12:00:00",
144
146
  jobIsScheduledUntilStamp: "2025-07-01 12:00:00",
145
147
  });
@@ -168,25 +170,25 @@ const serviceM8 = new ServiceM8Core({
168
170
 
169
171
  async function run() {
170
172
  const res = await jobsCreateJobs(serviceM8, {
171
- createdByStaffUuid: "123e4567-8521-4ed2-b37f-230ef650592b",
173
+ createdByStaffUuid: "123e4567-4057-4a83-844b-230fef0ac94b",
172
174
  date: "YYYY-MM-DD",
173
- companyUuid: "123e4567-3772-4eab-bfd1-230efd2b4dfb",
175
+ companyUuid: "123e4567-9907-41d4-adc7-230fe5ce573b",
174
176
  status: "Unsuccessful",
175
177
  paymentDate: "2025-07-01 12:00:00",
176
- paymentActionedByUuid: "123e4567-038b-451e-8909-230ef498b44b",
177
- categoryUuid: "123e4567-e98e-4839-a2ab-230ef0df73fb",
178
+ paymentActionedByUuid: "123e4567-57de-41ae-81fd-230fe1c62a4b",
179
+ categoryUuid: "123e4567-d0e8-4fbe-9bec-230fe274116b",
178
180
  invoiceSentStamp: "2025-07-01 12:00:00",
179
- queueUuid: "123e4567-5f1c-4959-ba25-230ef5e4576b",
181
+ queueUuid: "123e4567-7deb-405b-aeab-230fe120d4fb",
180
182
  queueExpiryDate: "2025-07-01 12:00:00",
181
- queueAssignedStaffUuid: "123e4567-6b60-484d-aa31-230ef05fb92b",
183
+ queueAssignedStaffUuid: "123e4567-ad48-4bee-af18-230fe174423b",
182
184
  quoteDate: "2025-07-01 12:00:00",
183
185
  quoteSentStamp: "2025-07-01 12:00:00",
184
186
  workOrderDate: "2025-07-01 12:00:00",
185
- uuid: "123e4567-7bae-4ed0-9c6e-230ef148febb",
187
+ uuid: "123e4567-57d3-4385-87e9-230febc4384b",
186
188
  paymentProcessedStamp: "2025-07-01 12:00:00",
187
189
  paymentReceivedStamp: "2025-07-01 12:00:00",
188
190
  completionDate: "2025-07-01 12:00:00",
189
- completionActionedByUuid: "123e4567-6645-4b13-a439-230ef8a8073b",
191
+ completionActionedByUuid: "123e4567-ec7e-4a1a-b65c-230fed7f5feb",
190
192
  unsuccessfulDate: "2025-07-01 12:00:00",
191
193
  jobIsScheduledUntilStamp: "2025-07-01 12:00:00",
192
194
  });
@@ -232,6 +234,7 @@ This endpoint requires the following OAuth scope **read_jobs**.
232
234
 
233
235
  ### Example Usage
234
236
 
237
+ <!-- UsageSnippet language="typescript" operationID="getJobs" method="get" path="/job/{uuid}.json" -->
235
238
  ```typescript
236
239
  import { ServiceM8 } from "servicem8";
237
240
 
@@ -314,6 +317,7 @@ This endpoint requires the following OAuth scope **manage_jobs**.
314
317
 
315
318
  ### Example Usage
316
319
 
320
+ <!-- UsageSnippet language="typescript" operationID="updateJobs" method="post" path="/job/{uuid}.json" -->
317
321
  ```typescript
318
322
  import { ServiceM8 } from "servicem8";
319
323
 
@@ -327,25 +331,25 @@ async function run() {
327
331
  const result = await serviceM8.jobs.updateJobs({
328
332
  uuid: "f751bf5c-f1f2-4a20-8df3-7628082340b1",
329
333
  job: {
330
- createdByStaffUuid: "123e4567-8521-4ed2-b37f-230ef650592b",
334
+ createdByStaffUuid: "123e4567-4057-4a83-844b-230fef0ac94b",
331
335
  date: "YYYY-MM-DD",
332
- companyUuid: "123e4567-3772-4eab-bfd1-230efd2b4dfb",
336
+ companyUuid: "123e4567-9907-41d4-adc7-230fe5ce573b",
333
337
  status: "Work Order",
334
338
  paymentDate: "2025-07-01 12:00:00",
335
- paymentActionedByUuid: "123e4567-038b-451e-8909-230ef498b44b",
336
- categoryUuid: "123e4567-e98e-4839-a2ab-230ef0df73fb",
339
+ paymentActionedByUuid: "123e4567-57de-41ae-81fd-230fe1c62a4b",
340
+ categoryUuid: "123e4567-d0e8-4fbe-9bec-230fe274116b",
337
341
  invoiceSentStamp: "2025-07-01 12:00:00",
338
- queueUuid: "123e4567-5f1c-4959-ba25-230ef5e4576b",
342
+ queueUuid: "123e4567-7deb-405b-aeab-230fe120d4fb",
339
343
  queueExpiryDate: "2025-07-01 12:00:00",
340
- queueAssignedStaffUuid: "123e4567-6b60-484d-aa31-230ef05fb92b",
344
+ queueAssignedStaffUuid: "123e4567-ad48-4bee-af18-230fe174423b",
341
345
  quoteDate: "2025-07-01 12:00:00",
342
346
  quoteSentStamp: "2025-07-01 12:00:00",
343
347
  workOrderDate: "2025-07-01 12:00:00",
344
- uuid: "123e4567-7bae-4ed0-9c6e-230ef148febb",
348
+ uuid: "123e4567-57d3-4385-87e9-230febc4384b",
345
349
  paymentProcessedStamp: "2025-07-01 12:00:00",
346
350
  paymentReceivedStamp: "2025-07-01 12:00:00",
347
351
  completionDate: "2025-07-01 12:00:00",
348
- completionActionedByUuid: "123e4567-6645-4b13-a439-230ef8a8073b",
352
+ completionActionedByUuid: "123e4567-ec7e-4a1a-b65c-230fed7f5feb",
349
353
  unsuccessfulDate: "2025-07-01 12:00:00",
350
354
  jobIsScheduledUntilStamp: "2025-07-01 12:00:00",
351
355
  },
@@ -377,25 +381,25 @@ async function run() {
377
381
  const res = await jobsUpdateJobs(serviceM8, {
378
382
  uuid: "f751bf5c-f1f2-4a20-8df3-7628082340b1",
379
383
  job: {
380
- createdByStaffUuid: "123e4567-8521-4ed2-b37f-230ef650592b",
384
+ createdByStaffUuid: "123e4567-4057-4a83-844b-230fef0ac94b",
381
385
  date: "YYYY-MM-DD",
382
- companyUuid: "123e4567-3772-4eab-bfd1-230efd2b4dfb",
386
+ companyUuid: "123e4567-9907-41d4-adc7-230fe5ce573b",
383
387
  status: "Work Order",
384
388
  paymentDate: "2025-07-01 12:00:00",
385
- paymentActionedByUuid: "123e4567-038b-451e-8909-230ef498b44b",
386
- categoryUuid: "123e4567-e98e-4839-a2ab-230ef0df73fb",
389
+ paymentActionedByUuid: "123e4567-57de-41ae-81fd-230fe1c62a4b",
390
+ categoryUuid: "123e4567-d0e8-4fbe-9bec-230fe274116b",
387
391
  invoiceSentStamp: "2025-07-01 12:00:00",
388
- queueUuid: "123e4567-5f1c-4959-ba25-230ef5e4576b",
392
+ queueUuid: "123e4567-7deb-405b-aeab-230fe120d4fb",
389
393
  queueExpiryDate: "2025-07-01 12:00:00",
390
- queueAssignedStaffUuid: "123e4567-6b60-484d-aa31-230ef05fb92b",
394
+ queueAssignedStaffUuid: "123e4567-ad48-4bee-af18-230fe174423b",
391
395
  quoteDate: "2025-07-01 12:00:00",
392
396
  quoteSentStamp: "2025-07-01 12:00:00",
393
397
  workOrderDate: "2025-07-01 12:00:00",
394
- uuid: "123e4567-7bae-4ed0-9c6e-230ef148febb",
398
+ uuid: "123e4567-57d3-4385-87e9-230febc4384b",
395
399
  paymentProcessedStamp: "2025-07-01 12:00:00",
396
400
  paymentReceivedStamp: "2025-07-01 12:00:00",
397
401
  completionDate: "2025-07-01 12:00:00",
398
- completionActionedByUuid: "123e4567-6645-4b13-a439-230ef8a8073b",
402
+ completionActionedByUuid: "123e4567-ec7e-4a1a-b65c-230fed7f5feb",
399
403
  unsuccessfulDate: "2025-07-01 12:00:00",
400
404
  jobIsScheduledUntilStamp: "2025-07-01 12:00:00",
401
405
  },
@@ -446,6 +450,7 @@ This endpoint requires the following OAuth scope **manage_jobs**.
446
450
 
447
451
  ### Example Usage
448
452
 
453
+ <!-- UsageSnippet language="typescript" operationID="deleteJobs" method="delete" path="/job/{uuid}.json" -->
449
454
  ```typescript
450
455
  import { ServiceM8 } from "servicem8";
451
456
 
@@ -29,6 +29,7 @@ This endpoint requires the following OAuth scope **read_jobs**.
29
29
 
30
30
  ### Example Usage
31
31
 
32
+ <!-- UsageSnippet language="typescript" operationID="listJobTemplates" method="get" path="/jobtemplate.json" -->
32
33
  ```typescript
33
34
  import { ServiceM8 } from "servicem8";
34
35
 
@@ -99,11 +100,6 @@ run();
99
100
 
100
101
 
101
102
 
102
- #### OAuth Scope
103
- This endpoint requires the following OAuth scope **manage_jobs**.
104
-
105
-
106
-
107
103
  #### Record UUID
108
104
  UUID is optional for record creation. If no UUID is supplied, a UUID will be automatically generated for the new record and returned in the `x-record-uuid` response header.
109
105
 
@@ -111,6 +107,7 @@ UUID is optional for record creation. If no UUID is supplied, a UUID will be aut
111
107
 
112
108
  ### Example Usage
113
109
 
110
+ <!-- UsageSnippet language="typescript" operationID="createJobTemplates" method="post" path="/jobtemplate.json" -->
114
111
  ```typescript
115
112
  import { ServiceM8 } from "servicem8";
116
113
 
@@ -122,7 +119,7 @@ const serviceM8 = new ServiceM8({
122
119
 
123
120
  async function run() {
124
121
  const result = await serviceM8.jobTemplates.createJobTemplates({
125
- uuid: "123e4567-6a4c-43d4-bb89-230ef320642b",
122
+ uuid: "123e4567-5198-4d58-9f3b-230fe1ff240b",
126
123
  });
127
124
 
128
125
  console.log(result);
@@ -149,7 +146,7 @@ const serviceM8 = new ServiceM8Core({
149
146
 
150
147
  async function run() {
151
148
  const res = await jobTemplatesCreateJobTemplates(serviceM8, {
152
- uuid: "123e4567-6a4c-43d4-bb89-230ef320642b",
149
+ uuid: "123e4567-5198-4d58-9f3b-230fe1ff240b",
153
150
  });
154
151
  if (res.ok) {
155
152
  const { value: result } = res;
@@ -193,6 +190,7 @@ This endpoint requires the following OAuth scope **read_jobs**.
193
190
 
194
191
  ### Example Usage
195
192
 
193
+ <!-- UsageSnippet language="typescript" operationID="getJobTemplates" method="get" path="/jobtemplate/{uuid}.json" -->
196
194
  ```typescript
197
195
  import { ServiceM8 } from "servicem8";
198
196
 
@@ -266,15 +264,11 @@ run();
266
264
 
267
265
  ## updateJobTemplates
268
266
 
269
-
270
-
271
- #### OAuth Scope
272
- This endpoint requires the following OAuth scope **manage_jobs**.
273
-
274
-
267
+ Update a Job Template
275
268
 
276
269
  ### Example Usage
277
270
 
271
+ <!-- UsageSnippet language="typescript" operationID="updateJobTemplates" method="post" path="/jobtemplate/{uuid}.json" -->
278
272
  ```typescript
279
273
  import { ServiceM8 } from "servicem8";
280
274
 
@@ -288,7 +282,7 @@ async function run() {
288
282
  const result = await serviceM8.jobTemplates.updateJobTemplates({
289
283
  uuid: "c3cda462-77ac-4f6b-96fc-278f0e8e4121",
290
284
  jobTemplate: {
291
- uuid: "123e4567-6a4c-43d4-bb89-230ef320642b",
285
+ uuid: "123e4567-5198-4d58-9f3b-230fe1ff240b",
292
286
  },
293
287
  });
294
288
 
@@ -318,7 +312,7 @@ async function run() {
318
312
  const res = await jobTemplatesUpdateJobTemplates(serviceM8, {
319
313
  uuid: "c3cda462-77ac-4f6b-96fc-278f0e8e4121",
320
314
  jobTemplate: {
321
- uuid: "123e4567-6a4c-43d4-bb89-230ef320642b",
315
+ uuid: "123e4567-5198-4d58-9f3b-230fe1ff240b",
322
316
  },
323
317
  });
324
318
  if (res.ok) {
@@ -359,14 +353,10 @@ run();
359
353
  In ServiceM8, deleting a record sets its `active` field to `0`. Inactive records are still accessible on the API, but are hidden in the UI. Inactive records can be restored by setting their `active` field to `1`.
360
354
 
361
355
 
362
-
363
- #### OAuth Scope
364
- This endpoint requires the following OAuth scope **manage_jobs**.
365
-
366
-
367
356
 
368
357
  ### Example Usage
369
358
 
359
+ <!-- UsageSnippet language="typescript" operationID="deleteJobTemplates" method="delete" path="/jobtemplate/{uuid}.json" -->
370
360
  ```typescript
371
361
  import { ServiceM8 } from "servicem8";
372
362
 
@@ -454,10 +444,11 @@ Only the following fields can be overridden when creating a job from a template:
454
444
  Any other fields in the request body will be ignored.
455
445
 
456
446
  #### OAuth Scope
457
- This endpoint requires the following OAuth scope **manage_jobs**.
447
+ This endpoint requires the following OAuth scope **create_jobs**.
458
448
 
459
449
  ### Example Usage
460
450
 
451
+ <!-- UsageSnippet language="typescript" operationID="createJobFromTemplate" method="post" path="/jobtemplate/{uuid}/job.json" -->
461
452
  ```typescript
462
453
  import { ServiceM8 } from "servicem8";
463
454
 
@@ -28,6 +28,7 @@ This endpoint requires the following OAuth scope **read_knowledge**.
28
28
 
29
29
  ### Example Usage
30
30
 
31
+ <!-- UsageSnippet language="typescript" operationID="listKnowledgeArticles" method="get" path="/knowledgearticle.json" -->
31
32
  ```typescript
32
33
  import { ServiceM8 } from "servicem8";
33
34
 
@@ -110,6 +111,7 @@ UUID is optional for record creation. If no UUID is supplied, a UUID will be aut
110
111
 
111
112
  ### Example Usage
112
113
 
114
+ <!-- UsageSnippet language="typescript" operationID="createKnowledgeArticles" method="post" path="/knowledgearticle.json" -->
113
115
  ```typescript
114
116
  import { ServiceM8 } from "servicem8";
115
117
 
@@ -121,7 +123,7 @@ const serviceM8 = new ServiceM8({
121
123
 
122
124
  async function run() {
123
125
  const result = await serviceM8.knowledgeArticles.createKnowledgeArticles({
124
- uuid: "123e4567-7245-400a-9412-230ef616f1db",
126
+ uuid: "123e4567-bba5-4f75-b771-230fee21aefb",
125
127
  name: "<value>",
126
128
  });
127
129
 
@@ -149,7 +151,7 @@ const serviceM8 = new ServiceM8Core({
149
151
 
150
152
  async function run() {
151
153
  const res = await knowledgeArticlesCreateKnowledgeArticles(serviceM8, {
152
- uuid: "123e4567-7245-400a-9412-230ef616f1db",
154
+ uuid: "123e4567-bba5-4f75-b771-230fee21aefb",
153
155
  name: "<value>",
154
156
  });
155
157
  if (res.ok) {
@@ -194,6 +196,7 @@ This endpoint requires the following OAuth scope **read_knowledge**.
194
196
 
195
197
  ### Example Usage
196
198
 
199
+ <!-- UsageSnippet language="typescript" operationID="getKnowledgeArticles" method="get" path="/knowledgearticle/{uuid}.json" -->
197
200
  ```typescript
198
201
  import { ServiceM8 } from "servicem8";
199
202
 
@@ -276,6 +279,7 @@ This endpoint requires the following OAuth scope **manage_knowledge**.
276
279
 
277
280
  ### Example Usage
278
281
 
282
+ <!-- UsageSnippet language="typescript" operationID="updateKnowledgeArticles" method="post" path="/knowledgearticle/{uuid}.json" -->
279
283
  ```typescript
280
284
  import { ServiceM8 } from "servicem8";
281
285
 
@@ -289,7 +293,7 @@ async function run() {
289
293
  const result = await serviceM8.knowledgeArticles.updateKnowledgeArticles({
290
294
  uuid: "a643fa14-496b-46a5-88bc-4e67bb92bafd",
291
295
  knowledgeArticle: {
292
- uuid: "123e4567-7245-400a-9412-230ef616f1db",
296
+ uuid: "123e4567-bba5-4f75-b771-230fee21aefb",
293
297
  name: "<value>",
294
298
  },
295
299
  });
@@ -320,7 +324,7 @@ async function run() {
320
324
  const res = await knowledgeArticlesUpdateKnowledgeArticles(serviceM8, {
321
325
  uuid: "a643fa14-496b-46a5-88bc-4e67bb92bafd",
322
326
  knowledgeArticle: {
323
- uuid: "123e4567-7245-400a-9412-230ef616f1db",
327
+ uuid: "123e4567-bba5-4f75-b771-230fee21aefb",
324
328
  name: "<value>",
325
329
  },
326
330
  });
@@ -370,6 +374,7 @@ This endpoint requires the following OAuth scope **manage_knowledge**.
370
374
 
371
375
  ### Example Usage
372
376
 
377
+ <!-- UsageSnippet language="typescript" operationID="deleteKnowledgeArticles" method="delete" path="/knowledgearticle/{uuid}.json" -->
373
378
  ```typescript
374
379
  import { ServiceM8 } from "servicem8";
375
380
 
@@ -28,6 +28,7 @@ This endpoint requires the following OAuth scope **read_locations**.
28
28
 
29
29
  ### Example Usage
30
30
 
31
+ <!-- UsageSnippet language="typescript" operationID="listLocations" method="get" path="/location.json" -->
31
32
  ```typescript
32
33
  import { ServiceM8 } from "servicem8";
33
34
 
@@ -110,6 +111,7 @@ UUID is optional for record creation. If no UUID is supplied, a UUID will be aut
110
111
 
111
112
  ### Example Usage
112
113
 
114
+ <!-- UsageSnippet language="typescript" operationID="createLocations" method="post" path="/location.json" -->
113
115
  ```typescript
114
116
  import { ServiceM8 } from "servicem8";
115
117
 
@@ -122,7 +124,7 @@ const serviceM8 = new ServiceM8({
122
124
  async function run() {
123
125
  const result = await serviceM8.locations.createLocations({
124
126
  name: "<value>",
125
- uuid: "123e4567-9424-413c-9e41-230eff73abfb",
127
+ uuid: "123e4567-7a18-48fd-b1f3-230fea0c330b",
126
128
  });
127
129
 
128
130
  console.log(result);
@@ -150,7 +152,7 @@ const serviceM8 = new ServiceM8Core({
150
152
  async function run() {
151
153
  const res = await locationsCreateLocations(serviceM8, {
152
154
  name: "<value>",
153
- uuid: "123e4567-9424-413c-9e41-230eff73abfb",
155
+ uuid: "123e4567-7a18-48fd-b1f3-230fea0c330b",
154
156
  });
155
157
  if (res.ok) {
156
158
  const { value: result } = res;
@@ -194,6 +196,7 @@ This endpoint requires the following OAuth scope **read_locations**.
194
196
 
195
197
  ### Example Usage
196
198
 
199
+ <!-- UsageSnippet language="typescript" operationID="getLocations" method="get" path="/location/{uuid}.json" -->
197
200
  ```typescript
198
201
  import { ServiceM8 } from "servicem8";
199
202
 
@@ -276,6 +279,7 @@ This endpoint requires the following OAuth scope **manage_locations**.
276
279
 
277
280
  ### Example Usage
278
281
 
282
+ <!-- UsageSnippet language="typescript" operationID="updateLocations" method="post" path="/location/{uuid}.json" -->
279
283
  ```typescript
280
284
  import { ServiceM8 } from "servicem8";
281
285
 
@@ -290,7 +294,7 @@ async function run() {
290
294
  uuid: "fee3b1fa-ab4e-4094-823d-0885a2f7b69f",
291
295
  location: {
292
296
  name: "<value>",
293
- uuid: "123e4567-9424-413c-9e41-230eff73abfb",
297
+ uuid: "123e4567-7a18-48fd-b1f3-230fea0c330b",
294
298
  },
295
299
  });
296
300
 
@@ -321,7 +325,7 @@ async function run() {
321
325
  uuid: "fee3b1fa-ab4e-4094-823d-0885a2f7b69f",
322
326
  location: {
323
327
  name: "<value>",
324
- uuid: "123e4567-9424-413c-9e41-230eff73abfb",
328
+ uuid: "123e4567-7a18-48fd-b1f3-230fea0c330b",
325
329
  },
326
330
  });
327
331
  if (res.ok) {
@@ -370,6 +374,7 @@ This endpoint requires the following OAuth scope **manage_locations**.
370
374
 
371
375
  ### Example Usage
372
376
 
377
+ <!-- UsageSnippet language="typescript" operationID="deleteLocations" method="delete" path="/location/{uuid}.json" -->
373
378
  ```typescript
374
379
  import { ServiceM8 } from "servicem8";
375
380
 
@@ -28,6 +28,7 @@ This endpoint requires the following OAuth scope **read_inventory**.
28
28
 
29
29
  ### Example Usage
30
30
 
31
+ <!-- UsageSnippet language="typescript" operationID="listMaterials" method="get" path="/material.json" -->
31
32
  ```typescript
32
33
  import { ServiceM8 } from "servicem8";
33
34
 
@@ -110,6 +111,7 @@ UUID is optional for record creation. If no UUID is supplied, a UUID will be aut
110
111
 
111
112
  ### Example Usage
112
113
 
114
+ <!-- UsageSnippet language="typescript" operationID="createMaterials" method="post" path="/material.json" -->
113
115
  ```typescript
114
116
  import { ServiceM8 } from "servicem8";
115
117
 
@@ -122,8 +124,8 @@ const serviceM8 = new ServiceM8({
122
124
  async function run() {
123
125
  const result = await serviceM8.materials.createMaterials({
124
126
  name: "<value>",
125
- uuid: "123e4567-f0d4-4ac1-ad89-230ef502a5fb",
126
- taxRateUuid: "123e4567-f6ca-404c-8b31-230ef6ed40db",
127
+ uuid: "123e4567-283d-4cd5-b01e-230fe90fb87b",
128
+ taxRateUuid: "123e4567-3184-4a51-a28c-230fe0df3f1b",
127
129
  });
128
130
 
129
131
  console.log(result);
@@ -151,8 +153,8 @@ const serviceM8 = new ServiceM8Core({
151
153
  async function run() {
152
154
  const res = await materialsCreateMaterials(serviceM8, {
153
155
  name: "<value>",
154
- uuid: "123e4567-f0d4-4ac1-ad89-230ef502a5fb",
155
- taxRateUuid: "123e4567-f6ca-404c-8b31-230ef6ed40db",
156
+ uuid: "123e4567-283d-4cd5-b01e-230fe90fb87b",
157
+ taxRateUuid: "123e4567-3184-4a51-a28c-230fe0df3f1b",
156
158
  });
157
159
  if (res.ok) {
158
160
  const { value: result } = res;
@@ -196,6 +198,7 @@ This endpoint requires the following OAuth scope **read_inventory**.
196
198
 
197
199
  ### Example Usage
198
200
 
201
+ <!-- UsageSnippet language="typescript" operationID="getMaterials" method="get" path="/material/{uuid}.json" -->
199
202
  ```typescript
200
203
  import { ServiceM8 } from "servicem8";
201
204
 
@@ -278,6 +281,7 @@ This endpoint requires the following OAuth scope **manage_inventory**.
278
281
 
279
282
  ### Example Usage
280
283
 
284
+ <!-- UsageSnippet language="typescript" operationID="updateMaterials" method="post" path="/material/{uuid}.json" -->
281
285
  ```typescript
282
286
  import { ServiceM8 } from "servicem8";
283
287
 
@@ -292,8 +296,8 @@ async function run() {
292
296
  uuid: "8a4aa688-8b41-4ab3-b862-24327504b606",
293
297
  material: {
294
298
  name: "<value>",
295
- uuid: "123e4567-f0d4-4ac1-ad89-230ef502a5fb",
296
- taxRateUuid: "123e4567-f6ca-404c-8b31-230ef6ed40db",
299
+ uuid: "123e4567-283d-4cd5-b01e-230fe90fb87b",
300
+ taxRateUuid: "123e4567-3184-4a51-a28c-230fe0df3f1b",
297
301
  },
298
302
  });
299
303
 
@@ -324,8 +328,8 @@ async function run() {
324
328
  uuid: "8a4aa688-8b41-4ab3-b862-24327504b606",
325
329
  material: {
326
330
  name: "<value>",
327
- uuid: "123e4567-f0d4-4ac1-ad89-230ef502a5fb",
328
- taxRateUuid: "123e4567-f6ca-404c-8b31-230ef6ed40db",
331
+ uuid: "123e4567-283d-4cd5-b01e-230fe90fb87b",
332
+ taxRateUuid: "123e4567-3184-4a51-a28c-230fe0df3f1b",
329
333
  },
330
334
  });
331
335
  if (res.ok) {
@@ -374,6 +378,7 @@ This endpoint requires the following OAuth scope **manage_inventory**.
374
378
 
375
379
  ### Example Usage
376
380
 
381
+ <!-- UsageSnippet language="typescript" operationID="deleteMaterials" method="delete" path="/material/{uuid}.json" -->
377
382
  ```typescript
378
383
  import { ServiceM8 } from "servicem8";
379
384
 
@@ -23,6 +23,7 @@ This endpoint supports result filtering. For more information on how to filter t
23
23
 
24
24
  ### Example Usage
25
25
 
26
+ <!-- UsageSnippet language="typescript" operationID="listNotes" method="get" path="/note.json" -->
26
27
  ```typescript
27
28
  import { ServiceM8 } from "servicem8";
28
29
 
@@ -100,6 +101,7 @@ UUID is optional for record creation. If no UUID is supplied, a UUID will be aut
100
101
 
101
102
  ### Example Usage
102
103
 
104
+ <!-- UsageSnippet language="typescript" operationID="createNotes" method="post" path="/note.json" -->
103
105
  ```typescript
104
106
  import { ServiceM8 } from "servicem8";
105
107
 
@@ -111,9 +113,9 @@ const serviceM8 = new ServiceM8({
111
113
 
112
114
  async function run() {
113
115
  const result = await serviceM8.notes.createNotes({
114
- uuid: "123e4567-639c-4915-a143-230ef9bac0bb",
115
- relatedObjectUuid: "123e4567-f1a2-43ac-9a1c-230efec4ee7b",
116
- actionCompletedByStaffUuid: "123e4567-f741-4b8e-86ba-230ef26149eb",
116
+ uuid: "123e4567-6a8a-4832-b6b2-230fe83e544b",
117
+ relatedObjectUuid: "123e4567-9af4-4fa2-8b92-230fe0b76f0b",
118
+ actionCompletedByStaffUuid: "123e4567-9fe6-428b-9292-230fecde8e2b",
117
119
  createDate: "2025-07-01 12:00:00",
118
120
  });
119
121
 
@@ -141,9 +143,9 @@ const serviceM8 = new ServiceM8Core({
141
143
 
142
144
  async function run() {
143
145
  const res = await notesCreateNotes(serviceM8, {
144
- uuid: "123e4567-639c-4915-a143-230ef9bac0bb",
145
- relatedObjectUuid: "123e4567-f1a2-43ac-9a1c-230efec4ee7b",
146
- actionCompletedByStaffUuid: "123e4567-f741-4b8e-86ba-230ef26149eb",
146
+ uuid: "123e4567-6a8a-4832-b6b2-230fe83e544b",
147
+ relatedObjectUuid: "123e4567-9af4-4fa2-8b92-230fe0b76f0b",
148
+ actionCompletedByStaffUuid: "123e4567-9fe6-428b-9292-230fecde8e2b",
147
149
  createDate: "2025-07-01 12:00:00",
148
150
  });
149
151
  if (res.ok) {
@@ -183,6 +185,7 @@ Retrieve a Note
183
185
 
184
186
  ### Example Usage
185
187
 
188
+ <!-- UsageSnippet language="typescript" operationID="getNotes" method="get" path="/note/{uuid}.json" -->
186
189
  ```typescript
187
190
  import { ServiceM8 } from "servicem8";
188
191
 
@@ -260,6 +263,7 @@ Update a Note
260
263
 
261
264
  ### Example Usage
262
265
 
266
+ <!-- UsageSnippet language="typescript" operationID="updateNotes" method="post" path="/note/{uuid}.json" -->
263
267
  ```typescript
264
268
  import { ServiceM8 } from "servicem8";
265
269
 
@@ -273,9 +277,9 @@ async function run() {
273
277
  const result = await serviceM8.notes.updateNotes({
274
278
  uuid: "1607abff-6202-4423-ae91-39b08699f830",
275
279
  note: {
276
- uuid: "123e4567-639c-4915-a143-230ef9bac0bb",
277
- relatedObjectUuid: "123e4567-f1a2-43ac-9a1c-230efec4ee7b",
278
- actionCompletedByStaffUuid: "123e4567-f741-4b8e-86ba-230ef26149eb",
280
+ uuid: "123e4567-6a8a-4832-b6b2-230fe83e544b",
281
+ relatedObjectUuid: "123e4567-9af4-4fa2-8b92-230fe0b76f0b",
282
+ actionCompletedByStaffUuid: "123e4567-9fe6-428b-9292-230fecde8e2b",
279
283
  createDate: "2025-07-01 12:00:00",
280
284
  },
281
285
  });
@@ -306,9 +310,9 @@ async function run() {
306
310
  const res = await notesUpdateNotes(serviceM8, {
307
311
  uuid: "1607abff-6202-4423-ae91-39b08699f830",
308
312
  note: {
309
- uuid: "123e4567-639c-4915-a143-230ef9bac0bb",
310
- relatedObjectUuid: "123e4567-f1a2-43ac-9a1c-230efec4ee7b",
311
- actionCompletedByStaffUuid: "123e4567-f741-4b8e-86ba-230ef26149eb",
313
+ uuid: "123e4567-6a8a-4832-b6b2-230fe83e544b",
314
+ relatedObjectUuid: "123e4567-9af4-4fa2-8b92-230fe0b76f0b",
315
+ actionCompletedByStaffUuid: "123e4567-9fe6-428b-9292-230fecde8e2b",
312
316
  createDate: "2025-07-01 12:00:00",
313
317
  },
314
318
  });
@@ -353,6 +357,7 @@ In ServiceM8, deleting a record sets its `active` field to `0`. Inactive records
353
357
 
354
358
  ### Example Usage
355
359
 
360
+ <!-- UsageSnippet language="typescript" operationID="deleteNotes" method="delete" path="/note/{uuid}.json" -->
356
361
  ```typescript
357
362
  import { ServiceM8 } from "servicem8";
358
363
 
@@ -15,6 +15,7 @@ Performs a text search across jobs, companies, and materials. Returns combined r
15
15
 
16
16
  ### Example Usage
17
17
 
18
+ <!-- UsageSnippet language="typescript" operationID="generalSearch" method="get" path="/search.json" -->
18
19
  ```typescript
19
20
  import { ServiceM8 } from "servicem8";
20
21
 
@@ -93,6 +94,7 @@ Performs a text search within a specific object type. Supported types: job, comp
93
94
 
94
95
  ### Example Usage
95
96
 
97
+ <!-- UsageSnippet language="typescript" operationID="objectSearch" method="get" path="/search/{objectType}.json" -->
96
98
  ```typescript
97
99
  import { ServiceM8 } from "servicem8";
98
100
 
@@ -185,6 +187,7 @@ This isn't just search—it's AI that truly understands what you're looking for
185
187
 
186
188
  ### Example Usage
187
189
 
190
+ <!-- UsageSnippet language="typescript" operationID="jobEmbeddingSearch" method="get" path="/search/job/embedding.json" -->
188
191
  ```typescript
189
192
  import { ServiceM8 } from "servicem8";
190
193