conductor-node 12.13.0 → 12.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/core.d.ts +2 -2
  3. package/core.d.ts.map +1 -1
  4. package/core.js +5 -3
  5. package/core.js.map +1 -1
  6. package/core.mjs +5 -3
  7. package/core.mjs.map +1 -1
  8. package/index.d.mts +2 -0
  9. package/index.d.ts +2 -0
  10. package/index.d.ts.map +1 -1
  11. package/index.js.map +1 -1
  12. package/index.mjs.map +1 -1
  13. package/package.json +1 -1
  14. package/resources/qbd/build-assemblies.d.ts +674 -0
  15. package/resources/qbd/build-assemblies.d.ts.map +1 -0
  16. package/resources/qbd/build-assemblies.js +120 -0
  17. package/resources/qbd/build-assemblies.js.map +1 -0
  18. package/resources/qbd/build-assemblies.mjs +115 -0
  19. package/resources/qbd/build-assemblies.mjs.map +1 -0
  20. package/resources/qbd/index.d.ts +1 -0
  21. package/resources/qbd/index.d.ts.map +1 -1
  22. package/resources/qbd/index.js +5 -2
  23. package/resources/qbd/index.js.map +1 -1
  24. package/resources/qbd/index.mjs +1 -0
  25. package/resources/qbd/index.mjs.map +1 -1
  26. package/resources/qbd/inventory-adjustments.d.ts +5 -5
  27. package/resources/qbd/inventory-adjustments.d.ts.map +1 -1
  28. package/resources/qbd/item-sites.d.ts +1 -4
  29. package/resources/qbd/item-sites.d.ts.map +1 -1
  30. package/resources/qbd/item-sites.js.map +1 -1
  31. package/resources/qbd/item-sites.mjs.map +1 -1
  32. package/resources/qbd/price-levels.d.ts +15 -15
  33. package/resources/qbd/price-levels.d.ts.map +1 -1
  34. package/resources/qbd/qbd.d.ts +4 -0
  35. package/resources/qbd/qbd.d.ts.map +1 -1
  36. package/resources/qbd/qbd.js +5 -0
  37. package/resources/qbd/qbd.js.map +1 -1
  38. package/resources/qbd/qbd.mjs +5 -0
  39. package/resources/qbd/qbd.mjs.map +1 -1
  40. package/src/core.ts +6 -4
  41. package/src/index.ts +2 -0
  42. package/src/resources/qbd/build-assemblies.ts +842 -0
  43. package/src/resources/qbd/index.ts +11 -0
  44. package/src/resources/qbd/inventory-adjustments.ts +6 -6
  45. package/src/resources/qbd/item-sites.ts +1 -4
  46. package/src/resources/qbd/price-levels.ts +17 -17
  47. package/src/resources/qbd/qbd.ts +27 -0
  48. package/src/version.ts +1 -1
  49. package/version.d.ts +1 -1
  50. package/version.js +1 -1
  51. package/version.mjs +1 -1
@@ -0,0 +1,842 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from "../../resource.js";
4
+ import * as Core from "../../core.js";
5
+ import { CursorPage, type CursorPageParams } from "../../pagination.js";
6
+
7
+ export class BuildAssemblies extends APIResource {
8
+ /**
9
+ * Creates a new build assembly.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * const buildAssembly =
14
+ * await conductor.qbd.buildAssemblies.create({
15
+ * inventoryAssemblyItemId: '80000001-1234567890',
16
+ * quantityToBuild: 7,
17
+ * transactionDate: '2021-10-01',
18
+ * conductorEndUserId: 'end_usr_1234567abcdefg',
19
+ * });
20
+ * ```
21
+ */
22
+ create(params: BuildAssemblyCreateParams, options?: Core.RequestOptions): Core.APIPromise<BuildAssembly> {
23
+ const { conductorEndUserId, ...body } = params;
24
+ return this._client.post('/quickbooks-desktop/build-assemblies', {
25
+ body,
26
+ ...options,
27
+ headers: { 'Conductor-End-User-Id': conductorEndUserId, ...options?.headers },
28
+ });
29
+ }
30
+
31
+ /**
32
+ * Retrieves a build assembly by ID.
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * const buildAssembly =
37
+ * await conductor.qbd.buildAssemblies.retrieve(
38
+ * '123ABC-1234567890',
39
+ * { conductorEndUserId: 'end_usr_1234567abcdefg' },
40
+ * );
41
+ * ```
42
+ */
43
+ retrieve(
44
+ id: string,
45
+ params: BuildAssemblyRetrieveParams,
46
+ options?: Core.RequestOptions,
47
+ ): Core.APIPromise<BuildAssembly> {
48
+ const { conductorEndUserId } = params;
49
+ return this._client.get(`/quickbooks-desktop/build-assemblies/${id}`, {
50
+ ...options,
51
+ headers: { 'Conductor-End-User-Id': conductorEndUserId, ...options?.headers },
52
+ });
53
+ }
54
+
55
+ /**
56
+ * Updates an existing build assembly.
57
+ *
58
+ * @example
59
+ * ```ts
60
+ * const buildAssembly =
61
+ * await conductor.qbd.buildAssemblies.update(
62
+ * '123ABC-1234567890',
63
+ * {
64
+ * revisionNumber: '1721172183',
65
+ * conductorEndUserId: 'end_usr_1234567abcdefg',
66
+ * },
67
+ * );
68
+ * ```
69
+ */
70
+ update(
71
+ id: string,
72
+ params: BuildAssemblyUpdateParams,
73
+ options?: Core.RequestOptions,
74
+ ): Core.APIPromise<BuildAssembly> {
75
+ const { conductorEndUserId, ...body } = params;
76
+ return this._client.post(`/quickbooks-desktop/build-assemblies/${id}`, {
77
+ body,
78
+ ...options,
79
+ headers: { 'Conductor-End-User-Id': conductorEndUserId, ...options?.headers },
80
+ });
81
+ }
82
+
83
+ /**
84
+ * Returns a list of build assemblies. Use the `cursor` parameter to paginate
85
+ * through the results.
86
+ *
87
+ * @example
88
+ * ```ts
89
+ * // Automatically fetches more pages as needed.
90
+ * for await (const buildAssembly of conductor.qbd.buildAssemblies.list(
91
+ * { conductorEndUserId: 'end_usr_1234567abcdefg' },
92
+ * )) {
93
+ * // ...
94
+ * }
95
+ * ```
96
+ */
97
+ list(
98
+ params: BuildAssemblyListParams,
99
+ options?: Core.RequestOptions,
100
+ ): Core.PagePromise<BuildAssembliesCursorPage, BuildAssembly> {
101
+ const { conductorEndUserId, ...query } = params;
102
+ return this._client.getAPIList('/quickbooks-desktop/build-assemblies', BuildAssembliesCursorPage, {
103
+ query,
104
+ ...options,
105
+ headers: { 'Conductor-End-User-Id': conductorEndUserId, ...options?.headers },
106
+ });
107
+ }
108
+
109
+ /**
110
+ * Permanently deletes a a build assembly. The deletion will fail if the build
111
+ * assembly is currently in use or has any linked transactions that are in use.
112
+ *
113
+ * @example
114
+ * ```ts
115
+ * const buildAssembly =
116
+ * await conductor.qbd.buildAssemblies.delete(
117
+ * '123ABC-1234567890',
118
+ * { conductorEndUserId: 'end_usr_1234567abcdefg' },
119
+ * );
120
+ * ```
121
+ */
122
+ delete(
123
+ id: string,
124
+ params: BuildAssemblyDeleteParams,
125
+ options?: Core.RequestOptions,
126
+ ): Core.APIPromise<BuildAssemblyDeleteResponse> {
127
+ const { conductorEndUserId } = params;
128
+ return this._client.delete(`/quickbooks-desktop/build-assemblies/${id}`, {
129
+ ...options,
130
+ headers: { 'Conductor-End-User-Id': conductorEndUserId, ...options?.headers },
131
+ });
132
+ }
133
+ }
134
+
135
+ export class BuildAssembliesCursorPage extends CursorPage<BuildAssembly> {}
136
+
137
+ export interface BuildAssembly {
138
+ /**
139
+ * The unique identifier assigned by QuickBooks to this build assembly. This ID is
140
+ * unique across all transaction types.
141
+ */
142
+ id: string;
143
+
144
+ /**
145
+ * The date and time when this build assembly was created, in ISO 8601 format
146
+ * (YYYY-MM-DDThh:mm:ss±hh:mm). The time zone is the same as the user's time zone
147
+ * in QuickBooks.
148
+ */
149
+ createdAt: string;
150
+
151
+ /**
152
+ * The custom fields for the build assembly object, added as user-defined data
153
+ * extensions, not included in the standard QuickBooks object.
154
+ */
155
+ customFields: Array<BuildAssembly.CustomField>;
156
+
157
+ /**
158
+ * The expiration date for the serial number or lot number of the item associated
159
+ * with this build assembly, in ISO 8601 format (YYYY-MM-DD). This is particularly
160
+ * relevant for perishable or time-sensitive inventory items. Note that this field
161
+ * is only supported on QuickBooks Desktop 2023 or later.
162
+ */
163
+ expirationDate: string | null;
164
+
165
+ /**
166
+ * A globally unique identifier (GUID) you, the developer, can provide for tracking
167
+ * this object in your external system. This field is immutable and can only be set
168
+ * during object creation.
169
+ */
170
+ externalId: string | null;
171
+
172
+ /**
173
+ * The inventory assembly item associated with this build assembly. An inventory
174
+ * assembly item is assembled or manufactured from other inventory items, and the
175
+ * items and/or assemblies that make up the assembly are called components.
176
+ */
177
+ inventoryAssemblyItem: BuildAssembly.InventoryAssemblyItem;
178
+
179
+ /**
180
+ * The site location where inventory for the item associated with this build
181
+ * assembly is stored.
182
+ */
183
+ inventorySite: BuildAssembly.InventorySite | null;
184
+
185
+ /**
186
+ * The specific location (e.g., bin or shelf) within the inventory site where the
187
+ * item associated with this build assembly is stored.
188
+ */
189
+ inventorySiteLocation: BuildAssembly.InventorySiteLocation | null;
190
+
191
+ /**
192
+ * Indicates whether this build assembly has not been completed.
193
+ */
194
+ isPending: boolean | null;
195
+
196
+ /**
197
+ * The component item lines in this build assembly.
198
+ */
199
+ lines: Array<BuildAssembly.Line>;
200
+
201
+ /**
202
+ * The lot number of the item associated with this build assembly. Used for
203
+ * tracking groups of inventory items that are purchased or manufactured together.
204
+ */
205
+ lotNumber: string | null;
206
+
207
+ /**
208
+ * A memo or note for this build assembly.
209
+ */
210
+ memo: string | null;
211
+
212
+ /**
213
+ * The type of object. This value is always `"qbd_build_assembly"`.
214
+ */
215
+ objectType: 'qbd_build_assembly';
216
+
217
+ /**
218
+ * The number of this build assembly that can be built from the parts on hand.
219
+ */
220
+ quantityCanBuild: number;
221
+
222
+ /**
223
+ * The number of units of this build assembly currently in inventory.
224
+ */
225
+ quantityOnHand: number;
226
+
227
+ /**
228
+ * The number of units of this build assembly that have been sold (as recorded in
229
+ * sales orders) but not yet fulfilled or delivered to customers.
230
+ */
231
+ quantityOnSalesOrder: number;
232
+
233
+ /**
234
+ * The number of build assembly to be built. The transaction will fail if the
235
+ * number specified here exceeds the number of on-hand components.
236
+ */
237
+ quantityToBuild: number;
238
+
239
+ /**
240
+ * The case-sensitive user-defined reference number for this build assembly, which
241
+ * can be used to identify the transaction in QuickBooks. This value is not
242
+ * required to be unique and can be arbitrarily changed by the QuickBooks user.
243
+ */
244
+ refNumber: string | null;
245
+
246
+ /**
247
+ * The current QuickBooks-assigned revision number of this build assembly object,
248
+ * which changes each time the object is modified. When updating this object, you
249
+ * must provide the most recent `revisionNumber` to ensure you're working with the
250
+ * latest data; otherwise, the update will return an error.
251
+ */
252
+ revisionNumber: string;
253
+
254
+ /**
255
+ * The serial number of the item associated with this build assembly. This is used
256
+ * for tracking individual units of serialized inventory items.
257
+ */
258
+ serialNumber: string | null;
259
+
260
+ /**
261
+ * The date of this build assembly, in ISO 8601 format (YYYY-MM-DD).
262
+ */
263
+ transactionDate: string;
264
+
265
+ /**
266
+ * The date and time when this build assembly was last updated, in ISO 8601 format
267
+ * (YYYY-MM-DDThh:mm:ss±hh:mm). The time zone is the same as the user's time zone
268
+ * in QuickBooks.
269
+ */
270
+ updatedAt: string;
271
+ }
272
+
273
+ export namespace BuildAssembly {
274
+ export interface CustomField {
275
+ /**
276
+ * The name of the custom field, unique for the specified `ownerId`. For public
277
+ * custom fields, this name is visible as a label in the QuickBooks UI.
278
+ */
279
+ name: string;
280
+
281
+ /**
282
+ * The identifier of the owner of the custom field, which QuickBooks internally
283
+ * calls a "data extension". For public custom fields visible in the UI, such as
284
+ * those added by the QuickBooks user, this is always "0". For private custom
285
+ * fields that are only visible to the application that created them, this is a
286
+ * valid GUID identifying the owning application. Internally, Conductor always
287
+ * fetches all public custom fields (those with an `ownerId` of "0") for all
288
+ * objects.
289
+ */
290
+ ownerId: string;
291
+
292
+ /**
293
+ * The data type of this custom field.
294
+ */
295
+ type:
296
+ | 'amount_type'
297
+ | 'date_time_type'
298
+ | 'integer_type'
299
+ | 'percent_type'
300
+ | 'price_type'
301
+ | 'quantity_type'
302
+ | 'string_1024_type'
303
+ | 'string_255_type';
304
+
305
+ /**
306
+ * The value of this custom field. The maximum length depends on the field's data
307
+ * type.
308
+ */
309
+ value: string;
310
+ }
311
+
312
+ /**
313
+ * The inventory assembly item associated with this build assembly. An inventory
314
+ * assembly item is assembled or manufactured from other inventory items, and the
315
+ * items and/or assemblies that make up the assembly are called components.
316
+ */
317
+ export interface InventoryAssemblyItem {
318
+ /**
319
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
320
+ * across all objects of the same type, but not across different QuickBooks object
321
+ * types.
322
+ */
323
+ id: string | null;
324
+
325
+ /**
326
+ * The fully-qualified unique name for this object, formed by combining the names
327
+ * of its parent objects with its own `name`, separated by colons. Not
328
+ * case-sensitive.
329
+ */
330
+ fullName: string | null;
331
+ }
332
+
333
+ /**
334
+ * The site location where inventory for the item associated with this build
335
+ * assembly is stored.
336
+ */
337
+ export interface InventorySite {
338
+ /**
339
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
340
+ * across all objects of the same type, but not across different QuickBooks object
341
+ * types.
342
+ */
343
+ id: string | null;
344
+
345
+ /**
346
+ * The fully-qualified unique name for this object, formed by combining the names
347
+ * of its parent objects with its own `name`, separated by colons. Not
348
+ * case-sensitive.
349
+ */
350
+ fullName: string | null;
351
+ }
352
+
353
+ /**
354
+ * The specific location (e.g., bin or shelf) within the inventory site where the
355
+ * item associated with this build assembly is stored.
356
+ */
357
+ export interface InventorySiteLocation {
358
+ /**
359
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
360
+ * across all objects of the same type, but not across different QuickBooks object
361
+ * types.
362
+ */
363
+ id: string | null;
364
+
365
+ /**
366
+ * The fully-qualified unique name for this object, formed by combining the names
367
+ * of its parent objects with its own `name`, separated by colons. Not
368
+ * case-sensitive.
369
+ */
370
+ fullName: string | null;
371
+ }
372
+
373
+ export interface Line {
374
+ /**
375
+ * A description of this component item line.
376
+ */
377
+ description: string | null;
378
+
379
+ /**
380
+ * The expiration date for the serial number or lot number of the item associated
381
+ * with this component item line, in ISO 8601 format (YYYY-MM-DD). This is
382
+ * particularly relevant for perishable or time-sensitive inventory items. Note
383
+ * that this field is only supported on QuickBooks Desktop 2023 or later.
384
+ */
385
+ expirationDate: string | null;
386
+
387
+ /**
388
+ * The site location where inventory for the item associated with this component
389
+ * item line is stored.
390
+ */
391
+ inventorySite: Line.InventorySite | null;
392
+
393
+ /**
394
+ * The specific location (e.g., bin or shelf) within the inventory site where the
395
+ * item associated with this component item line is stored.
396
+ */
397
+ inventorySiteLocation: Line.InventorySiteLocation | null;
398
+
399
+ /**
400
+ * The item associated with this component item line. This can refer to any good or
401
+ * service that the business buys or sells, including item types such as a service
402
+ * item, inventory item, or special calculation item like a discount item or
403
+ * sales-tax item.
404
+ */
405
+ item: Line.Item;
406
+
407
+ /**
408
+ * The lot number of the item associated with this component item line. Used for
409
+ * tracking groups of inventory items that are purchased or manufactured together.
410
+ */
411
+ lotNumber: string | null;
412
+
413
+ /**
414
+ * The quantity of this component item line that is needed to build the assembly.
415
+ * For example, if the `itemId` references a bolt, the `quantityNeeded` field
416
+ * indicates how many of these bolts are used in the assembly.
417
+ */
418
+ quantityNeeded: number | null;
419
+
420
+ /**
421
+ * The number of units of this component item line currently in inventory.
422
+ */
423
+ quantityOnHand: number | null;
424
+
425
+ /**
426
+ * The serial number of the item associated with this component item line. This is
427
+ * used for tracking individual units of serialized inventory items.
428
+ */
429
+ serialNumber: string | null;
430
+ }
431
+
432
+ export namespace Line {
433
+ /**
434
+ * The site location where inventory for the item associated with this component
435
+ * item line is stored.
436
+ */
437
+ export interface InventorySite {
438
+ /**
439
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
440
+ * across all objects of the same type, but not across different QuickBooks object
441
+ * types.
442
+ */
443
+ id: string | null;
444
+
445
+ /**
446
+ * The fully-qualified unique name for this object, formed by combining the names
447
+ * of its parent objects with its own `name`, separated by colons. Not
448
+ * case-sensitive.
449
+ */
450
+ fullName: string | null;
451
+ }
452
+
453
+ /**
454
+ * The specific location (e.g., bin or shelf) within the inventory site where the
455
+ * item associated with this component item line is stored.
456
+ */
457
+ export interface InventorySiteLocation {
458
+ /**
459
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
460
+ * across all objects of the same type, but not across different QuickBooks object
461
+ * types.
462
+ */
463
+ id: string | null;
464
+
465
+ /**
466
+ * The fully-qualified unique name for this object, formed by combining the names
467
+ * of its parent objects with its own `name`, separated by colons. Not
468
+ * case-sensitive.
469
+ */
470
+ fullName: string | null;
471
+ }
472
+
473
+ /**
474
+ * The item associated with this component item line. This can refer to any good or
475
+ * service that the business buys or sells, including item types such as a service
476
+ * item, inventory item, or special calculation item like a discount item or
477
+ * sales-tax item.
478
+ */
479
+ export interface Item {
480
+ /**
481
+ * The unique identifier assigned by QuickBooks to this object. This ID is unique
482
+ * across all objects of the same type, but not across different QuickBooks object
483
+ * types.
484
+ */
485
+ id: string | null;
486
+
487
+ /**
488
+ * The fully-qualified unique name for this object, formed by combining the names
489
+ * of its parent objects with its own `name`, separated by colons. Not
490
+ * case-sensitive.
491
+ */
492
+ fullName: string | null;
493
+ }
494
+ }
495
+ }
496
+
497
+ export interface BuildAssemblyDeleteResponse {
498
+ /**
499
+ * The QuickBooks-assigned unique identifier of the deleted build assembly.
500
+ */
501
+ id: string;
502
+
503
+ /**
504
+ * Indicates whether the build assembly was deleted.
505
+ */
506
+ deleted: boolean;
507
+
508
+ /**
509
+ * The type of object. This value is always `"qbd_build_assembly"`.
510
+ */
511
+ objectType: 'qbd_build_assembly';
512
+
513
+ /**
514
+ * The case-sensitive user-defined reference number of the deleted build assembly.
515
+ */
516
+ refNumber: string | null;
517
+ }
518
+
519
+ export interface BuildAssemblyCreateParams {
520
+ /**
521
+ * Body param: The inventory assembly item associated with this build assembly. An
522
+ * inventory assembly item is assembled or manufactured from other inventory items,
523
+ * and the items and/or assemblies that make up the assembly are called components.
524
+ */
525
+ inventoryAssemblyItemId: string;
526
+
527
+ /**
528
+ * Body param: The number of build assembly to be built. The transaction will fail
529
+ * if the number specified here exceeds the number of on-hand components.
530
+ */
531
+ quantityToBuild: number;
532
+
533
+ /**
534
+ * Body param: The date of this build assembly, in ISO 8601 format (YYYY-MM-DD).
535
+ */
536
+ transactionDate: string;
537
+
538
+ /**
539
+ * Header param: The ID of the EndUser to receive this request (e.g.,
540
+ * `"Conductor-End-User-Id: {{END_USER_ID}}"`).
541
+ */
542
+ conductorEndUserId: string;
543
+
544
+ /**
545
+ * Body param: The expiration date for the serial number or lot number of the item
546
+ * associated with this build assembly, in ISO 8601 format (YYYY-MM-DD). This is
547
+ * particularly relevant for perishable or time-sensitive inventory items. Note
548
+ * that this field is only supported on QuickBooks Desktop 2023 or later.
549
+ */
550
+ expirationDate?: string;
551
+
552
+ /**
553
+ * Body param: A globally unique identifier (GUID) you, the developer, can provide
554
+ * for tracking this object in your external system. This field is immutable and
555
+ * can only be set during object creation.
556
+ *
557
+ * **IMPORTANT**: This field must be formatted as a valid GUID; otherwise,
558
+ * QuickBooks will return an error.
559
+ */
560
+ externalId?: string;
561
+
562
+ /**
563
+ * Body param: The site location where inventory for the item associated with this
564
+ * build assembly is stored.
565
+ */
566
+ inventorySiteId?: string;
567
+
568
+ /**
569
+ * Body param: The specific location (e.g., bin or shelf) within the inventory site
570
+ * where the item associated with this build assembly is stored.
571
+ */
572
+ inventorySiteLocationId?: string;
573
+
574
+ /**
575
+ * Body param: The lot number of the item associated with this build assembly. Used
576
+ * for tracking groups of inventory items that are purchased or manufactured
577
+ * together.
578
+ */
579
+ lotNumber?: string;
580
+
581
+ /**
582
+ * Body param: When `true`, the build assembly will be marked pending if there are
583
+ * insufficient quantities to complete the build assembly.
584
+ */
585
+ markPendingIfRequired?: boolean;
586
+
587
+ /**
588
+ * Body param: A memo or note for this build assembly.
589
+ */
590
+ memo?: string;
591
+
592
+ /**
593
+ * Body param: The case-sensitive user-defined reference number for this build
594
+ * assembly, which can be used to identify the transaction in QuickBooks. This
595
+ * value is not required to be unique and can be arbitrarily changed by the
596
+ * QuickBooks user. When left blank in this create request, this field will be left
597
+ * blank in QuickBooks (i.e., it does _not_ auto-increment).
598
+ */
599
+ refNumber?: string;
600
+
601
+ /**
602
+ * Body param: The serial number of the item associated with this build assembly.
603
+ * This is used for tracking individual units of serialized inventory items.
604
+ */
605
+ serialNumber?: string;
606
+ }
607
+
608
+ export interface BuildAssemblyRetrieveParams {
609
+ /**
610
+ * The ID of the EndUser to receive this request (e.g.,
611
+ * `"Conductor-End-User-Id: {{END_USER_ID}}"`).
612
+ */
613
+ conductorEndUserId: string;
614
+ }
615
+
616
+ export interface BuildAssemblyUpdateParams {
617
+ /**
618
+ * Body param: The current QuickBooks-assigned revision number of the build
619
+ * assembly object you are updating, which you can get by fetching the object
620
+ * first. Provide the most recent `revisionNumber` to ensure you're working with
621
+ * the latest data; otherwise, the update will return an error.
622
+ */
623
+ revisionNumber: string;
624
+
625
+ /**
626
+ * Header param: The ID of the EndUser to receive this request (e.g.,
627
+ * `"Conductor-End-User-Id: {{END_USER_ID}}"`).
628
+ */
629
+ conductorEndUserId: string;
630
+
631
+ /**
632
+ * Body param: The expiration date for the serial number or lot number of the item
633
+ * associated with this build assembly, in ISO 8601 format (YYYY-MM-DD). This is
634
+ * particularly relevant for perishable or time-sensitive inventory items. Note
635
+ * that this field is only supported on QuickBooks Desktop 2023 or later.
636
+ */
637
+ expirationDate?: string;
638
+
639
+ /**
640
+ * Body param: The site location where inventory for the item associated with this
641
+ * build assembly is stored.
642
+ */
643
+ inventorySiteId?: string;
644
+
645
+ /**
646
+ * Body param: The specific location (e.g., bin or shelf) within the inventory site
647
+ * where the item associated with this build assembly is stored.
648
+ */
649
+ inventorySiteLocationId?: string;
650
+
651
+ /**
652
+ * Body param: The lot number of the item associated with this build assembly. Used
653
+ * for tracking groups of inventory items that are purchased or manufactured
654
+ * together.
655
+ */
656
+ lotNumber?: string;
657
+
658
+ /**
659
+ * Body param: When `true`, the build assembly will be marked pending if there are
660
+ * insufficient quantities to complete the build assembly.
661
+ */
662
+ markPendingIfRequired?: boolean;
663
+
664
+ /**
665
+ * Body param: A memo or note for this build assembly.
666
+ */
667
+ memo?: string;
668
+
669
+ /**
670
+ * Body param: The number of build assembly to be built. The transaction will fail
671
+ * if the number specified here exceeds the number of on-hand components.
672
+ */
673
+ quantityToBuild?: number;
674
+
675
+ /**
676
+ * Body param: The case-sensitive user-defined reference number for this build
677
+ * assembly, which can be used to identify the transaction in QuickBooks. This
678
+ * value is not required to be unique and can be arbitrarily changed by the
679
+ * QuickBooks user.
680
+ */
681
+ refNumber?: string;
682
+
683
+ /**
684
+ * Body param: When `true`, changes this build assembly's status from pending to
685
+ * non-pending, which effectively performs the build transaction. The operation
686
+ * will fail if there are insufficient component quantities on hand to complete the
687
+ * build.
688
+ */
689
+ removePending?: boolean;
690
+
691
+ /**
692
+ * Body param: The serial number of the item associated with this build assembly.
693
+ * This is used for tracking individual units of serialized inventory items.
694
+ */
695
+ serialNumber?: string;
696
+
697
+ /**
698
+ * Body param: The date of this build assembly, in ISO 8601 format (YYYY-MM-DD).
699
+ */
700
+ transactionDate?: string;
701
+ }
702
+
703
+ export interface BuildAssemblyListParams extends CursorPageParams {
704
+ /**
705
+ * Header param: The ID of the EndUser to receive this request (e.g.,
706
+ * `"Conductor-End-User-Id: {{END_USER_ID}}"`).
707
+ */
708
+ conductorEndUserId: string;
709
+
710
+ /**
711
+ * Query param: Filter for specific build assemblies by their QuickBooks-assigned
712
+ * unique identifier(s).
713
+ *
714
+ * **IMPORTANT**: If you include this parameter, QuickBooks will ignore all other
715
+ * query parameters for this request.
716
+ *
717
+ * **NOTE**: If any of the values you specify in this parameter are not found, the
718
+ * request will return an error.
719
+ */
720
+ ids?: Array<string>;
721
+
722
+ /**
723
+ * Query param: Whether to include component line items in the response. Defaults
724
+ * to `true`.
725
+ */
726
+ includeComponentLineItems?: boolean;
727
+
728
+ /**
729
+ * Query param: Filter for build assemblies containing these items.
730
+ */
731
+ itemIds?: Array<string>;
732
+
733
+ /**
734
+ * Query param: Filter for build assemblies that are pending, not pending, or both.
735
+ */
736
+ pendingStatus?: 'all' | 'not_pending' | 'pending';
737
+
738
+ /**
739
+ * Query param: Filter for build assemblies whose `refNumber` contains this
740
+ * substring.
741
+ *
742
+ * **NOTE**: If you use this parameter, you cannot also use `refNumberStartsWith`
743
+ * or `refNumberEndsWith`.
744
+ */
745
+ refNumberContains?: string;
746
+
747
+ /**
748
+ * Query param: Filter for build assemblies whose `refNumber` ends with this
749
+ * substring.
750
+ *
751
+ * **NOTE**: If you use this parameter, you cannot also use `refNumberContains` or
752
+ * `refNumberStartsWith`.
753
+ */
754
+ refNumberEndsWith?: string;
755
+
756
+ /**
757
+ * Query param: Filter for build assemblies whose `refNumber` is greater than or
758
+ * equal to this value. If omitted, the range will begin with the first number of
759
+ * the list. Uses a numerical comparison for values that contain only digits;
760
+ * otherwise, uses a lexicographical comparison.
761
+ */
762
+ refNumberFrom?: string;
763
+
764
+ /**
765
+ * Query param: Filter for specific build assemblies by their ref-number(s),
766
+ * case-sensitive. In QuickBooks, ref-numbers are not required to be unique and can
767
+ * be arbitrarily changed by the QuickBooks user.
768
+ *
769
+ * **IMPORTANT**: If you include this parameter, QuickBooks will ignore all other
770
+ * query parameters for this request.
771
+ *
772
+ * **NOTE**: If any of the values you specify in this parameter are not found, the
773
+ * request will return an error.
774
+ */
775
+ refNumbers?: Array<string>;
776
+
777
+ /**
778
+ * Query param: Filter for build assemblies whose `refNumber` starts with this
779
+ * substring.
780
+ *
781
+ * **NOTE**: If you use this parameter, you cannot also use `refNumberContains` or
782
+ * `refNumberEndsWith`.
783
+ */
784
+ refNumberStartsWith?: string;
785
+
786
+ /**
787
+ * Query param: Filter for build assemblies whose `refNumber` is less than or equal
788
+ * to this value. If omitted, the range will end with the last number of the list.
789
+ * Uses a numerical comparison for values that contain only digits; otherwise, uses
790
+ * a lexicographical comparison.
791
+ */
792
+ refNumberTo?: string;
793
+
794
+ /**
795
+ * Query param: Filter for build assemblies whose `date` field is on or after this
796
+ * date, in ISO 8601 format (YYYY-MM-DD).
797
+ */
798
+ transactionDateFrom?: string;
799
+
800
+ /**
801
+ * Query param: Filter for build assemblies whose `date` field is on or before this
802
+ * date, in ISO 8601 format (YYYY-MM-DD).
803
+ */
804
+ transactionDateTo?: string;
805
+
806
+ /**
807
+ * Query param: Filter for build assemblies updated on or after this date and time,
808
+ * in ISO 8601 format (YYYY-MM-DDTHH:mm:ss). If you only provide a date
809
+ * (YYYY-MM-DD), the time is assumed to be 00:00:00 of that day.
810
+ */
811
+ updatedAfter?: string;
812
+
813
+ /**
814
+ * Query param: Filter for build assemblies updated on or before this date and
815
+ * time, in ISO 8601 format (YYYY-MM-DDTHH:mm:ss). If you only provide a date
816
+ * (YYYY-MM-DD), the time is assumed to be 23:59:59 of that day.
817
+ */
818
+ updatedBefore?: string;
819
+ }
820
+
821
+ export interface BuildAssemblyDeleteParams {
822
+ /**
823
+ * The ID of the EndUser to receive this request (e.g.,
824
+ * `"Conductor-End-User-Id: {{END_USER_ID}}"`).
825
+ */
826
+ conductorEndUserId: string;
827
+ }
828
+
829
+ BuildAssemblies.BuildAssembliesCursorPage = BuildAssembliesCursorPage;
830
+
831
+ export declare namespace BuildAssemblies {
832
+ export {
833
+ type BuildAssembly as BuildAssembly,
834
+ type BuildAssemblyDeleteResponse as BuildAssemblyDeleteResponse,
835
+ BuildAssembliesCursorPage as BuildAssembliesCursorPage,
836
+ type BuildAssemblyCreateParams as BuildAssemblyCreateParams,
837
+ type BuildAssemblyRetrieveParams as BuildAssemblyRetrieveParams,
838
+ type BuildAssemblyUpdateParams as BuildAssemblyUpdateParams,
839
+ type BuildAssemblyListParams as BuildAssemblyListParams,
840
+ type BuildAssemblyDeleteParams as BuildAssemblyDeleteParams,
841
+ };
842
+ }