@ikonintegration/module-contractor-api 1.0.0 → 1.0.2

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.
package/Api.ts CHANGED
@@ -17,7 +17,7 @@ export interface ErrorResponse {
17
17
  errCode: string
18
18
  }
19
19
 
20
- export interface InputN1Jw8Pelom {
20
+ export interface InputEbucity1Z4 {
21
21
  /**
22
22
  * Unique code identifier (1-50 alphanumeric characters)
23
23
  * @minLength 1
@@ -41,7 +41,7 @@ export interface InputN1Jw8Pelom {
41
41
  description: string
42
42
  }
43
43
 
44
- export interface InputBpxvmw183C {
44
+ export interface InputLrvyo8663G {
45
45
  /**
46
46
  * Updated description of the code (1-255 characters)
47
47
  * @minLength 1
@@ -51,7 +51,7 @@ export interface InputBpxvmw183C {
51
51
  description: string
52
52
  }
53
53
 
54
- export interface InputU6Bgra15Uy {
54
+ export interface InputX0At7Jc9N {
55
55
  /**
56
56
  * Full name of the contractor
57
57
  * @minLength 1
@@ -90,7 +90,7 @@ export interface InputU6Bgra15Uy {
90
90
  }[]
91
91
  }
92
92
 
93
- export interface InputGr9Lchaxob {
93
+ export interface InputO4N90Uymjl {
94
94
  /**
95
95
  * Maximum nightly accommodation amount (positive, up to two decimal places)
96
96
  * @min 0
@@ -128,15 +128,15 @@ export interface InputGr9Lchaxob {
128
128
  transportationMax?: number
129
129
  }
130
130
 
131
- export interface InputHifqzcj5Po {
131
+ export interface Input4M0Lv5Ahsw {
132
132
  /**
133
133
  * The contractor's local status. Set to 'active' to enable or 'disabled' to disable the account.
134
134
  * @example "active"
135
135
  */
136
- status: InputHifqzcj5PoStatusEnum
136
+ status: Input4M0Lv5AhswStatusEnum
137
137
  }
138
138
 
139
- export interface Input8I2W1Iyb6R {
139
+ export interface InputD79Au0K6W5 {
140
140
  /**
141
141
  * Name of the department (1-150 characters)
142
142
  * @minLength 1
@@ -153,7 +153,7 @@ export interface Input8I2W1Iyb6R {
153
153
  contactEmails: string[]
154
154
  }
155
155
 
156
- export interface InputF5Mrt7Alvxl {
156
+ export interface InputTktzkj8J4D {
157
157
  /**
158
158
  * Updated name of the department (1-150 characters)
159
159
  * @minLength 1
@@ -170,7 +170,7 @@ export interface InputF5Mrt7Alvxl {
170
170
  contactEmails?: string[]
171
171
  }
172
172
 
173
- export interface Input3Y606Jegxm {
173
+ export interface InputGxh0Yjattn {
174
174
  /**
175
175
  * The user ID of the administrator to associate with the department
176
176
  * @minLength 1
@@ -179,7 +179,7 @@ export interface Input3Y606Jegxm {
179
179
  userID: string
180
180
  }
181
181
 
182
- export interface InputUivsl0J1Jwg {
182
+ export interface InputEh0Dqq1G7Q {
183
183
  /**
184
184
  * Mileage rate in dollars per kilometre (positive, up to two decimal places)
185
185
  * @min 0
@@ -189,7 +189,7 @@ export interface InputUivsl0J1Jwg {
189
189
  mileageRate: number
190
190
  }
191
191
 
192
- export interface Input0L32Mfaw1Ji {
192
+ export interface InputTiewwv56Cc {
193
193
  /**
194
194
  * Maximum nightly accommodation amount (positive, up to two decimal places)
195
195
  * @min 0
@@ -227,7 +227,7 @@ export interface Input0L32Mfaw1Ji {
227
227
  transportationMax: number
228
228
  }
229
229
 
230
- export interface Input4Ylvvi4Qiv {
230
+ export interface InputBt0Uuj40Knj {
231
231
  /**
232
232
  * Number of days between reminder emails (positive integer)
233
233
  * @min 0
@@ -238,7 +238,7 @@ export interface Input4Ylvvi4Qiv {
238
238
  }
239
239
 
240
240
  /** Create a new draft submission */
241
- export interface Input1E4Ziwqngl {
241
+ export interface InputIjeu6D8I3B {
242
242
  /**
243
243
  * Department ID
244
244
  * @minLength 1
@@ -260,7 +260,7 @@ export interface Input1E4Ziwqngl {
260
260
  * Submission type
261
261
  * @example "Submission"
262
262
  */
263
- type: Input1E4ZiwqnglTypeEnum
263
+ type: InputIjeu6D8I3BTypeEnum
264
264
  /**
265
265
  * Invoice number or "N/A"
266
266
  * @minLength 1
@@ -367,7 +367,7 @@ export interface Input1E4Ziwqngl {
367
367
  * Expense type
368
368
  * @example "Accommodation"
369
369
  */
370
- type: Input1E4ZiwqnglTypeEnum1
370
+ type: InputIjeu6D8I3BTypeEnum1
371
371
  /**
372
372
  * Pre-tax amount
373
373
  * @min 0
@@ -392,7 +392,7 @@ export interface Input1E4Ziwqngl {
392
392
  * Meal type (Meal expenses)
393
393
  * @example "Lunch"
394
394
  */
395
- mealType?: Input1E4ZiwqnglMealTypeEnum
395
+ mealType?: InputIjeu6D8I3BMealTypeEnum
396
396
  /**
397
397
  * Number of kilometres (Mileage)
398
398
  * @min 0
@@ -404,7 +404,7 @@ export interface Input1E4Ziwqngl {
404
404
  * Transportation type (Transportation expenses)
405
405
  * @example "Taxi"
406
406
  */
407
- transportationType?: Input1E4ZiwqnglTransportationTypeEnum
407
+ transportationType?: InputIjeu6D8I3BTransportationTypeEnum
408
408
  /**
409
409
  * File attachments for this expense
410
410
  * @default []
@@ -440,7 +440,7 @@ export interface Input1E4Ziwqngl {
440
440
  }
441
441
 
442
442
  /** Update an existing submission */
443
- export interface InputD6Uic9Wivl {
443
+ export interface InputKvk7Y9Qob6 {
444
444
  /**
445
445
  * Submission description
446
446
  * @minLength 1
@@ -449,7 +449,7 @@ export interface InputD6Uic9Wivl {
449
449
  /** Submission date (epoch ms) */
450
450
  date?: number
451
451
  /** Submission type */
452
- type?: InputD6Uic9WivlTypeEnum
452
+ type?: InputKvk7Y9Qob6TypeEnum
453
453
  /**
454
454
  * Invoice number or "N/A"
455
455
  * @minLength 1
@@ -550,7 +550,7 @@ export interface InputD6Uic9Wivl {
550
550
  * Expense type
551
551
  * @example "Accommodation"
552
552
  */
553
- type: InputD6Uic9WivlTypeEnum1
553
+ type: InputKvk7Y9Qob6TypeEnum1
554
554
  /**
555
555
  * Pre-tax amount
556
556
  * @min 0
@@ -575,7 +575,7 @@ export interface InputD6Uic9Wivl {
575
575
  * Meal type (Meal expenses)
576
576
  * @example "Lunch"
577
577
  */
578
- mealType?: InputD6Uic9WivlMealTypeEnum
578
+ mealType?: InputKvk7Y9Qob6MealTypeEnum
579
579
  /**
580
580
  * Number of kilometres (Mileage)
581
581
  * @min 0
@@ -587,7 +587,7 @@ export interface InputD6Uic9Wivl {
587
587
  * Transportation type (Transportation expenses)
588
588
  * @example "Taxi"
589
589
  */
590
- transportationType?: InputD6Uic9WivlTransportationTypeEnum
590
+ transportationType?: InputKvk7Y9Qob6TransportationTypeEnum
591
591
  /**
592
592
  * File attachments for this expense
593
593
  * @default []
@@ -622,11 +622,11 @@ export interface InputD6Uic9Wivl {
622
622
  }[]
623
623
  }
624
624
 
625
- export interface InputQqc4Xl7Nr3 {
625
+ export interface InputZuufi5Flop {
626
626
  /** Array of codes to assign to the submission sections */
627
627
  codes: {
628
628
  /** The section to assign the code to */
629
- section: InputQqc4Xl7Nr3SectionEnum
629
+ section: InputZuufi5FlopSectionEnum
630
630
  /**
631
631
  * The code ID to assign
632
632
  * @minLength 1
@@ -643,7 +643,7 @@ export interface InputQqc4Xl7Nr3 {
643
643
  }
644
644
 
645
645
  /** Request a presigned upload URL for a file attachment */
646
- export interface InputNiqys3Oiwd {
646
+ export interface InputKn0Y6Bn1Yz {
647
647
  /**
648
648
  * ID of the invoice or expense line item
649
649
  * @minLength 1
@@ -671,7 +671,7 @@ export interface InputNiqys3Oiwd {
671
671
  fileName: string
672
672
  }
673
673
 
674
- export interface Input9Zqht4Idck {
674
+ export interface Input4Tvfg8Mse4 {
675
675
  /**
676
676
  * PO number to set on the submission
677
677
  * @example "PO-5678"
@@ -679,7 +679,7 @@ export interface Input9Zqht4Idck {
679
679
  poNumber: string
680
680
  }
681
681
 
682
- export interface InputRx3Tqfjstsk {
682
+ export interface InputWmkkwhx1Bo {
683
683
  /**
684
684
  * The ID of the new department to reassign to
685
685
  * @minLength 1
@@ -688,7 +688,7 @@ export interface InputRx3Tqfjstsk {
688
688
  departmentID: string
689
689
  }
690
690
 
691
- export interface InputVl61Mvkana {
691
+ export interface InputJiuwxuwhbyj {
692
692
  /**
693
693
  * Google reCAPTCHA verification token
694
694
  * @example "03AGdBq26..."
@@ -743,8 +743,8 @@ export interface InputVl61Mvkana {
743
743
  * @example 25
744
744
  */
745
745
  taxAmount?: number
746
- /** Single PDF attachment (max 1 MB) */
747
- attachment: {
746
+ /** Single PDF attachment (max 1 MB). Optional — if omitted, the frontend should upload the file separately via POST /submission/{submissionID}/file after submission creation. */
747
+ attachment?: {
748
748
  /**
749
749
  * Unique file identifier
750
750
  * @example "file-abc123"
@@ -759,7 +759,7 @@ export interface InputVl61Mvkana {
759
759
  * Content type (must be application/pdf for guest)
760
760
  * @example "application/pdf"
761
761
  */
762
- contentType: InputVl61MvkanaContentTypeEnum
762
+ contentType: InputJiuwxuwhbyjContentTypeEnum
763
763
  /**
764
764
  * File size in bytes (max 1 MB)
765
765
  * @max 1048576
@@ -778,7 +778,7 @@ export interface InputVl61Mvkana {
778
778
  * The contractor's local status. Set to 'active' to enable or 'disabled' to disable the account.
779
779
  * @example "active"
780
780
  */
781
- export enum InputHifqzcj5PoStatusEnum {
781
+ export enum Input4M0Lv5AhswStatusEnum {
782
782
  Active = 'active',
783
783
  Disabled = 'disabled',
784
784
  }
@@ -787,7 +787,7 @@ export enum InputHifqzcj5PoStatusEnum {
787
787
  * Submission type
788
788
  * @example "Submission"
789
789
  */
790
- export enum Input1E4ZiwqnglTypeEnum {
790
+ export enum InputIjeu6D8I3BTypeEnum {
791
791
  Submission = 'Submission',
792
792
  Reimbursement = 'Reimbursement',
793
793
  }
@@ -796,7 +796,7 @@ export enum Input1E4ZiwqnglTypeEnum {
796
796
  * Expense type
797
797
  * @example "Accommodation"
798
798
  */
799
- export enum Input1E4ZiwqnglTypeEnum1 {
799
+ export enum InputIjeu6D8I3BTypeEnum1 {
800
800
  Accommodation = 'Accommodation',
801
801
  Meal = 'Meal',
802
802
  Mileage = 'Mileage',
@@ -808,7 +808,7 @@ export enum Input1E4ZiwqnglTypeEnum1 {
808
808
  * Meal type (Meal expenses)
809
809
  * @example "Lunch"
810
810
  */
811
- export enum Input1E4ZiwqnglMealTypeEnum {
811
+ export enum InputIjeu6D8I3BMealTypeEnum {
812
812
  Breakfast = 'Breakfast',
813
813
  Lunch = 'Lunch',
814
814
  Dinner = 'Dinner',
@@ -818,7 +818,7 @@ export enum Input1E4ZiwqnglMealTypeEnum {
818
818
  * Transportation type (Transportation expenses)
819
819
  * @example "Taxi"
820
820
  */
821
- export enum Input1E4ZiwqnglTransportationTypeEnum {
821
+ export enum InputIjeu6D8I3BTransportationTypeEnum {
822
822
  AirTravel = 'Air travel',
823
823
  Taxi = 'Taxi',
824
824
  Ferry = 'Ferry',
@@ -827,7 +827,7 @@ export enum Input1E4ZiwqnglTransportationTypeEnum {
827
827
  }
828
828
 
829
829
  /** Submission type */
830
- export enum InputD6Uic9WivlTypeEnum {
830
+ export enum InputKvk7Y9Qob6TypeEnum {
831
831
  Submission = 'Submission',
832
832
  Reimbursement = 'Reimbursement',
833
833
  }
@@ -836,7 +836,7 @@ export enum InputD6Uic9WivlTypeEnum {
836
836
  * Expense type
837
837
  * @example "Accommodation"
838
838
  */
839
- export enum InputD6Uic9WivlTypeEnum1 {
839
+ export enum InputKvk7Y9Qob6TypeEnum1 {
840
840
  Accommodation = 'Accommodation',
841
841
  Meal = 'Meal',
842
842
  Mileage = 'Mileage',
@@ -848,7 +848,7 @@ export enum InputD6Uic9WivlTypeEnum1 {
848
848
  * Meal type (Meal expenses)
849
849
  * @example "Lunch"
850
850
  */
851
- export enum InputD6Uic9WivlMealTypeEnum {
851
+ export enum InputKvk7Y9Qob6MealTypeEnum {
852
852
  Breakfast = 'Breakfast',
853
853
  Lunch = 'Lunch',
854
854
  Dinner = 'Dinner',
@@ -858,7 +858,7 @@ export enum InputD6Uic9WivlMealTypeEnum {
858
858
  * Transportation type (Transportation expenses)
859
859
  * @example "Taxi"
860
860
  */
861
- export enum InputD6Uic9WivlTransportationTypeEnum {
861
+ export enum InputKvk7Y9Qob6TransportationTypeEnum {
862
862
  AirTravel = 'Air travel',
863
863
  Taxi = 'Taxi',
864
864
  Ferry = 'Ferry',
@@ -867,7 +867,7 @@ export enum InputD6Uic9WivlTransportationTypeEnum {
867
867
  }
868
868
 
869
869
  /** The section to assign the code to */
870
- export enum InputQqc4Xl7Nr3SectionEnum {
870
+ export enum InputZuufi5FlopSectionEnum {
871
871
  Service = 'Service',
872
872
  Reimbursement = 'Reimbursement',
873
873
  }
@@ -876,7 +876,7 @@ export enum InputQqc4Xl7Nr3SectionEnum {
876
876
  * Content type (must be application/pdf for guest)
877
877
  * @example "application/pdf"
878
878
  */
879
- export enum InputVl61MvkanaContentTypeEnum {
879
+ export enum InputJiuwxuwhbyjContentTypeEnum {
880
880
  ApplicationPdf = 'application/pdf',
881
881
  }
882
882
 
@@ -1285,7 +1285,7 @@ export class HttpClient<SecurityDataType = unknown> {
1285
1285
 
1286
1286
  /**
1287
1287
  * @title Contractor Module API
1288
- * @version 1.0.0
1288
+ * @version 1.0.2
1289
1289
  * @baseUrl http://localhost:8080
1290
1290
  * @contact Ikon Integration <ikon@ikonintegration.com> (http://example.com)
1291
1291
  */
@@ -1300,7 +1300,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
1300
1300
  * @request POST:/code
1301
1301
  * @secure
1302
1302
  */
1303
- createCode: (data: InputN1Jw8Pelom, params: RequestParams = {}) =>
1303
+ createCode: (data: InputEbucity1Z4, params: RequestParams = {}) =>
1304
1304
  this.request<CreateCodeData, CreateCodeError>({
1305
1305
  path: `/code`,
1306
1306
  method: 'POST',
@@ -1319,7 +1319,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
1319
1319
  * @request PUT:/code/{codeID}
1320
1320
  * @secure
1321
1321
  */
1322
- updateCode: (codeId: string, data: InputBpxvmw183C, params: RequestParams = {}) =>
1322
+ updateCode: (codeId: string, data: InputLrvyo8663G, params: RequestParams = {}) =>
1323
1323
  this.request<UpdateCodeData, UpdateCodeError>({
1324
1324
  path: `/code/${codeId}`,
1325
1325
  method: 'PUT',
@@ -1374,7 +1374,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
1374
1374
  * @request POST:/contractor
1375
1375
  * @secure
1376
1376
  */
1377
- createContractor: (data: InputU6Bgra15Uy, params: RequestParams = {}) =>
1377
+ createContractor: (data: InputX0At7Jc9N, params: RequestParams = {}) =>
1378
1378
  this.request<CreateContractorData, CreateContractorError>({
1379
1379
  path: `/contractor`,
1380
1380
  method: 'POST',
@@ -1410,7 +1410,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
1410
1410
  * @request PUT:/contractor/{userID}/rates
1411
1411
  * @secure
1412
1412
  */
1413
- updateRates: (userId: string, data: InputGr9Lchaxob, params: RequestParams = {}) =>
1413
+ updateRates: (userId: string, data: InputO4N90Uymjl, params: RequestParams = {}) =>
1414
1414
  this.request<UpdateRatesData, UpdateRatesError>({
1415
1415
  path: `/contractor/${userId}/rates`,
1416
1416
  method: 'PUT',
@@ -1446,7 +1446,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
1446
1446
  * @request PUT:/contractor/{userID}/status
1447
1447
  * @secure
1448
1448
  */
1449
- updateStatus: (userId: string, data: InputHifqzcj5Po, params: RequestParams = {}) =>
1449
+ updateStatus: (userId: string, data: Input4M0Lv5Ahsw, params: RequestParams = {}) =>
1450
1450
  this.request<UpdateStatusData, UpdateStatusError>({
1451
1451
  path: `/contractor/${userId}/status`,
1452
1452
  method: 'PUT',
@@ -1485,7 +1485,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
1485
1485
  * @request POST:/department
1486
1486
  * @secure
1487
1487
  */
1488
- createDepartment: (data: Input8I2W1Iyb6R, params: RequestParams = {}) =>
1488
+ createDepartment: (data: InputD79Au0K6W5, params: RequestParams = {}) =>
1489
1489
  this.request<CreateDepartmentData, CreateDepartmentError>({
1490
1490
  path: `/department`,
1491
1491
  method: 'POST',
@@ -1504,7 +1504,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
1504
1504
  * @request PUT:/department/{departmentID}
1505
1505
  * @secure
1506
1506
  */
1507
- updateDepartment: (departmentId: string, data: InputF5Mrt7Alvxl, params: RequestParams = {}) =>
1507
+ updateDepartment: (departmentId: string, data: InputTktzkj8J4D, params: RequestParams = {}) =>
1508
1508
  this.request<UpdateDepartmentData, UpdateDepartmentError>({
1509
1509
  path: `/department/${departmentId}`,
1510
1510
  method: 'PUT',
@@ -1540,7 +1540,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
1540
1540
  * @request POST:/department/{departmentID}/admin
1541
1541
  * @secure
1542
1542
  */
1543
- createAdmin: (departmentId: string, data: Input3Y606Jegxm, params: RequestParams = {}) =>
1543
+ createAdmin: (departmentId: string, data: InputGxh0Yjattn, params: RequestParams = {}) =>
1544
1544
  this.request<CreateAdminData, CreateAdminError>({
1545
1545
  path: `/department/${departmentId}/admin`,
1546
1546
  method: 'POST',
@@ -1569,7 +1569,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
1569
1569
  }
1570
1570
  departments = {
1571
1571
  /**
1572
- * @description Returns all departments. Available to ADMIN and SYSADMIN users.
1572
+ * @description Returns all departments. For ADMIN/SYSADMIN users returns full department data. For lower roles (USER, ACCOUNTANT, NONE) returns only departmentID and name.
1573
1573
  *
1574
1574
  * @tags Departments
1575
1575
  * @name ListDepartments
@@ -1612,7 +1612,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
1612
1612
  * @request PUT:/settings/rates
1613
1613
  * @secure
1614
1614
  */
1615
- updateRates: (data: InputUivsl0J1Jwg, params: RequestParams = {}) =>
1615
+ updateRates: (data: InputEh0Dqq1G7Q, params: RequestParams = {}) =>
1616
1616
  this.request<UpdateRatesResult, UpdateRatesFail>({
1617
1617
  path: `/settings/rates`,
1618
1618
  method: 'PUT',
@@ -1631,7 +1631,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
1631
1631
  * @request PUT:/settings/maximums
1632
1632
  * @secure
1633
1633
  */
1634
- updateMaximums: (data: Input0L32Mfaw1Ji, params: RequestParams = {}) =>
1634
+ updateMaximums: (data: InputTiewwv56Cc, params: RequestParams = {}) =>
1635
1635
  this.request<UpdateMaximumsData, UpdateMaximumsError>({
1636
1636
  path: `/settings/maximums`,
1637
1637
  method: 'PUT',
@@ -1650,7 +1650,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
1650
1650
  * @request PUT:/settings/reminders
1651
1651
  * @secure
1652
1652
  */
1653
- updateReminders: (data: Input4Ylvvi4Qiv, params: RequestParams = {}) =>
1653
+ updateReminders: (data: InputBt0Uuj40Knj, params: RequestParams = {}) =>
1654
1654
  this.request<UpdateRemindersData, UpdateRemindersError>({
1655
1655
  path: `/settings/reminders`,
1656
1656
  method: 'PUT',
@@ -1670,7 +1670,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
1670
1670
  * @request POST:/submission
1671
1671
  * @secure
1672
1672
  */
1673
- createSubmission: (data: Input1E4Ziwqngl, params: RequestParams = {}) =>
1673
+ createSubmission: (data: InputIjeu6D8I3B, params: RequestParams = {}) =>
1674
1674
  this.request<CreateSubmissionData, CreateSubmissionError>({
1675
1675
  path: `/submission`,
1676
1676
  method: 'POST',
@@ -1681,7 +1681,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
1681
1681
  }),
1682
1682
 
1683
1683
  /**
1684
- * @description Returns a single submission with all invoices, expenses, and assigned codes. Access is scoped by role: contractors see only their own, admins see their department, accountants/superadmins see any.
1684
+ * @description Returns a single submission with all invoices, expenses, and assigned codes in a single DynamoDB query using an ElectroDB collection. Access is scoped by role: contractors see only their own, admins see their department, accountants/superadmins see any.
1685
1685
  *
1686
1686
  * @tags Submissions
1687
1687
  * @name GetSubmission
@@ -1706,7 +1706,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
1706
1706
  * @request PUT:/submission/{submissionID}
1707
1707
  * @secure
1708
1708
  */
1709
- updateSubmission: (submissionId: string, data: InputD6Uic9Wivl, params: RequestParams = {}) =>
1709
+ updateSubmission: (submissionId: string, data: InputKvk7Y9Qob6, params: RequestParams = {}) =>
1710
1710
  this.request<UpdateSubmissionData, UpdateSubmissionError>({
1711
1711
  path: `/submission/${submissionId}`,
1712
1712
  method: 'PUT',
@@ -1759,7 +1759,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
1759
1759
  * @request PUT:/submission/{submissionID}/codes
1760
1760
  * @secure
1761
1761
  */
1762
- updateCodes: (submissionId: string, data: InputQqc4Xl7Nr3, params: RequestParams = {}) =>
1762
+ updateCodes: (submissionId: string, data: InputZuufi5Flop, params: RequestParams = {}) =>
1763
1763
  this.request<UpdateCodesData, UpdateCodesError>({
1764
1764
  path: `/submission/${submissionId}/codes`,
1765
1765
  method: 'PUT',
@@ -1770,7 +1770,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
1770
1770
  }),
1771
1771
 
1772
1772
  /**
1773
- * @description Validates file constraints (size, type, count) and returns a presigned S3 URL for uploading a file attachment to a submission line item.
1773
+ * @description Validates file constraints (size, type, count) and returns a presigned S3 URL for uploading a file attachment to a submission line item. Supports both authenticated users (max 10 MB, any type, max 5 files per line item) and guest submissions (PDF only, max 1 MB, max 1 file per line item).
1774
1774
  *
1775
1775
  * @tags Submissions
1776
1776
  * @name CreateFile
@@ -1778,7 +1778,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
1778
1778
  * @request POST:/submission/{submissionID}/file
1779
1779
  * @secure
1780
1780
  */
1781
- createFile: (submissionId: string, data: InputNiqys3Oiwd, params: RequestParams = {}) =>
1781
+ createFile: (submissionId: string, data: InputKn0Y6Bn1Yz, params: RequestParams = {}) =>
1782
1782
  this.request<CreateFileData, CreateFileError>({
1783
1783
  path: `/submission/${submissionId}/file`,
1784
1784
  method: 'POST',
@@ -1848,7 +1848,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
1848
1848
  * @request PUT:/submission/{submissionID}/po
1849
1849
  * @secure
1850
1850
  */
1851
- putSubmission: (submissionId: string, data: Input9Zqht4Idck, params: RequestParams = {}) =>
1851
+ putSubmission: (submissionId: string, data: Input4Tvfg8Mse4, params: RequestParams = {}) =>
1852
1852
  this.request<PutSubmissionData, PutSubmissionError>({
1853
1853
  path: `/submission/${submissionId}/po`,
1854
1854
  method: 'PUT',
@@ -1867,7 +1867,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
1867
1867
  * @request POST:/submission/{submissionID}/reassign
1868
1868
  * @secure
1869
1869
  */
1870
- createReassign: (submissionId: string, data: InputRx3Tqfjstsk, params: RequestParams = {}) =>
1870
+ createReassign: (submissionId: string, data: InputWmkkwhx1Bo, params: RequestParams = {}) =>
1871
1871
  this.request<CreateReassignData, CreateReassignError>({
1872
1872
  path: `/submission/${submissionId}/reassign`,
1873
1873
  method: 'POST',
@@ -1912,7 +1912,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
1912
1912
  }),
1913
1913
 
1914
1914
  /**
1915
- * @description Public endpoint for guest contractors to submit a single invoice without authentication. Requires reCAPTCHA verification. The submission goes directly to Submitted status (no Draft).
1915
+ * @description Public endpoint for guest contractors to submit a single invoice without authentication. Requires reCAPTCHA verification. The submission goes directly to Submitted status (no Draft). The attachment field is optional — if omitted, the frontend should upload the file separately via POST /submission/{submissionID}/file after creation.
1916
1916
  *
1917
1917
  * @tags Submissions
1918
1918
  * @name CreateGuest
@@ -1920,7 +1920,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
1920
1920
  * @request POST:/submission/guest
1921
1921
  * @secure
1922
1922
  */
1923
- createGuest: (data: InputVl61Mvkana, params: RequestParams = {}) =>
1923
+ createGuest: (data: InputJiuwxuwhbyj, params: RequestParams = {}) =>
1924
1924
  this.request<CreateGuestData, CreateGuestError>({
1925
1925
  path: `/submission/guest`,
1926
1926
  method: 'POST',