@dsptch-work/api-client 0.29.0 → 0.30.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.
@@ -3983,7 +3983,7 @@ export type JobParameters = {
3983
3983
  */
3984
3984
  requested_by_company_id?: string;
3985
3985
  /**
3986
- * IDs of the users who manage the job; null when the job has no managers.
3986
+ * Complete desired set of manager user ID strings. Omit or send null to preserve the set; send an empty array to clear it. Other non-array values or non-string members return 422 before any job or relationship is saved.
3987
3987
  */
3988
3988
  manager_user_ids?: Array<string> | null;
3989
3989
  /**
@@ -4036,7 +4036,7 @@ export type JobParameters = {
4036
4036
  */
4037
4037
  allow_customer_access?: boolean;
4038
4038
  /**
4039
- * IDs of the timecodes to associate with the job; null when none.
4039
+ * Complete desired set of timecode ID strings. Omit or send null to preserve the set; send an empty array to clear it. Other non-array values or non-string members return 422 before any job or relationship is saved.
4040
4040
  */
4041
4041
  timekeeping_timecode_ids?: Array<string> | null;
4042
4042
  /**
@@ -4683,7 +4683,7 @@ export type UserParameters = ({
4683
4683
  /**
4684
4684
  * Roles to grant the worker at your company, as an array of role strings such as TECHNICIAN, FIELD_LEAD, MANAGER, SAFETY_MANAGER, and ADMIN.
4685
4685
  */
4686
- roles?: Array<string>;
4686
+ roles?: Array<string> | null;
4687
4687
  /**
4688
4688
  * Signed ID of a direct-upload blob to attach as the profile picture. Obtain it by first uploading the image to POST /api/v1/direct_uploads.
4689
4689
  */
@@ -4768,7 +4768,7 @@ export type UserParameters = ({
4768
4768
  /**
4769
4769
  * Ids of the groups to add the worker to at your company.
4770
4770
  */
4771
- group_ids?: Array<number>;
4771
+ group_ids?: Array<string> | null;
4772
4772
  /**
4773
4773
  * Values for the employment's custom fields, as a list of configurations and their values. Each configuration may appear only once. Every visible configuration gets a stored value; one left out of the list, or an omitted or empty list, stores null.
4774
4774
  */
@@ -5733,7 +5733,7 @@ export type UserGroupResponse = {
5733
5733
  */
5734
5734
  export type UserGroupParameters = {
5735
5735
  /**
5736
- * IDs of the users to add to the group; users already in the group are ignored, and the full membership list is returned.
5736
+ * Required nonempty array of user ID strings to add to the group. Users already in the group are ignored, and the full membership list is returned.
5737
5737
  */
5738
5738
  user_ids: Array<string>;
5739
5739
  };
@@ -6743,6 +6743,62 @@ export type TimeSessionsResponseObject = {
6743
6743
  */
6744
6744
  data: Array<TimeSessionResponseObject>;
6745
6745
  };
6746
+ /**
6747
+ * A worker request for non-working time (R&R, PTO, and the other absence types). Approval produces an Absence; this read surface does not nest that Absence or the request's comments.
6748
+ */
6749
+ export type TimeOffRequestResponseObject = {
6750
+ /**
6751
+ * Unique identifier.
6752
+ */
6753
+ id: string;
6754
+ /**
6755
+ * ID of the worker (user) the request is for.
6756
+ */
6757
+ user_id: string;
6758
+ /**
6759
+ * Lifecycle status of the request.
6760
+ */
6761
+ status: 'pending' | 'approved' | 'denied' | 'cancelled' | 'expired';
6762
+ /**
6763
+ * Kind of non-working time.
6764
+ */
6765
+ absence_type: 'rest_and_recovery' | 'vacation' | 'bereavement' | 'ca_covid_19_sick' | 'custom' | 'jury_duty' | 'unpaid' | 'training' | 'bench';
6766
+ /**
6767
+ * When the requested absence starts (ISO 8601).
6768
+ */
6769
+ start_time: string;
6770
+ /**
6771
+ * When the requested absence ends (ISO 8601).
6772
+ */
6773
+ end_time: string;
6774
+ /**
6775
+ * When the request was reviewed (ISO 8601); null while it is still pending.
6776
+ */
6777
+ reviewed_at: string | null;
6778
+ /**
6779
+ * ID of the user who reviewed the request; null while it is still pending.
6780
+ */
6781
+ reviewer_user_id: string | null;
6782
+ /**
6783
+ * When the record was created (ISO 8601).
6784
+ */
6785
+ created_at: string;
6786
+ /**
6787
+ * When the record was last updated (ISO 8601).
6788
+ */
6789
+ updated_at: string;
6790
+ };
6791
+ /**
6792
+ * A page of time-off requests, with pagination metadata and navigation links.
6793
+ */
6794
+ export type TimeOffRequestsResponseObject = {
6795
+ meta: Meta;
6796
+ links: Links;
6797
+ /**
6798
+ * The page of time-off requests.
6799
+ */
6800
+ data: Array<TimeOffRequestResponseObject>;
6801
+ };
6746
6802
  /**
6747
6803
  * Request body for locking or unlocking a time card.
6748
6804
  */
@@ -7323,7 +7379,7 @@ export type ProjectResponseObject = {
7323
7379
  updated_at: string;
7324
7380
  };
7325
7381
  /**
7326
- * Request body for creating or updating a project. Only `name` is required by the schema; `created_by_user_id` is additionally required on create and must be a member of the owning company. The owning company is inferred from the API key and is not part of the body. Omit relationship fields on PATCH to leave them unchanged.
7382
+ * Request body for creating a project. `name` and `created_by_user_id` are required; the creator must be a member of the owning company. The owning company is inferred from the API key and is not part of the body. Undeclared body keys return 400 before any project or relationship is saved.
7327
7383
  */
7328
7384
  export type ProjectParameters = {
7329
7385
  /**
@@ -7339,7 +7395,7 @@ export type ProjectParameters = {
7339
7395
  */
7340
7396
  description?: string | null;
7341
7397
  /**
7342
- * User recorded as the project's creator; must be a member of the owning company. Required on create and immutable thereafter — an update that sets, changes, or clears it is rejected.
7398
+ * User recorded as the project's creator; must be a member of the owning company. Required on create and immutable thereafter. Send it only on create; every update that includes it returns 400, even when unchanged.
7343
7399
  */
7344
7400
  created_by_user_id: string;
7345
7401
  /**
@@ -7347,7 +7403,7 @@ export type ProjectParameters = {
7347
7403
  */
7348
7404
  parent_id?: string | null;
7349
7405
  /**
7350
- * Complete desired set of participating company IDs. Send an empty array to clear the set. Remove a participant's jobs before removing it from this set.
7406
+ * Complete desired set of participating company ID strings. Omit to preserve the set; send an empty array to clear it. Null, non-array values, or non-string members return 422 before any project or relationship is saved. Remove a participant's jobs before removing it from this set.
7351
7407
  */
7352
7408
  participating_company_ids?: Array<string>;
7353
7409
  /**
@@ -7412,7 +7468,7 @@ export type ProjectParameters = {
7412
7468
  placed_in_service_date?: string | null;
7413
7469
  };
7414
7470
  /**
7415
- * Request body for updating a project. Every field is optional; omit a field to preserve its current value. The resulting project must still satisfy conditional PWA, regional, and schedule validation rules. `created_by_user_id` is create-only and an update that names it is rejected.
7471
+ * Request body for updating a project. Every field is optional; omit a field to preserve its current value. The resulting project must still satisfy conditional PWA, regional, and schedule validation rules. `created_by_user_id` is create-only; omit it on PATCH. Every update that includes it returns 400, even when unchanged. Undeclared body keys return 400 before any project or relationship changes.
7416
7472
  */
7417
7473
  export type ProjectUpdateParameters = {
7418
7474
  /**
@@ -7432,7 +7488,7 @@ export type ProjectUpdateParameters = {
7432
7488
  */
7433
7489
  parent_id?: string | null;
7434
7490
  /**
7435
- * Complete desired set of participating company IDs. Send an empty array to clear the set. Remove a participant's jobs before removing it from this set.
7491
+ * Complete desired set of participating company ID strings. Omit to preserve the set; send an empty array to clear it. Null, non-array values, or non-string members return 422 before any project or relationship is saved. Remove a participant's jobs before removing it from this set.
7436
7492
  */
7437
7493
  participating_company_ids?: Array<string>;
7438
7494
  /**
@@ -9525,7 +9581,7 @@ export type PositionParameters = {
9525
9581
  */
9526
9582
  wage_adder_rate_cents?: number | null;
9527
9583
  /**
9528
- * The complete desired set of job wage determination IDs. On PATCH, this replaces the current set; omit the field to leave assignments unchanged. Required federal and regional assignments cannot be removed from a PWA position.
9584
+ * The complete desired set of job wage determination IDs. On PATCH, this replaces the current set; omit the field to leave assignments unchanged. Required federal and regional assignments cannot be removed from a PWA position. Must be an array of ID strings; malformed submitted lists are rejected before any changes are written.
9529
9585
  */
9530
9586
  job_wage_determination_ids?: Array<string>;
9531
9587
  /**
@@ -9986,7 +10042,7 @@ export type CertificationPackageParameters = {
9986
10042
  */
9987
10043
  description?: string | null;
9988
10044
  /**
9989
- * Ids of the certifications in the package; global and your company's own may be mixed. Providing this replaces the entire membership. An id that is neither a global certification nor one of your company's own answers 404, and nothing is written.
10045
+ * Array of certification ID strings; global and your company's own may be mixed. Providing this replaces the entire membership; an empty array clears it. Omit to create an empty package or preserve existing membership on update. Null is not accepted. An id that is neither a global certification nor one of your company's own answers 404, and nothing is written.
9990
10046
  */
9991
10047
  certification_ids?: Array<string>;
9992
10048
  /**
@@ -10007,7 +10063,7 @@ export type CertificationPackageUpdateParameters = {
10007
10063
  */
10008
10064
  description?: string | null;
10009
10065
  /**
10010
- * Ids of the certifications in the package; global and your company's own may be mixed. Providing this replaces the entire membership. An id that is neither a global certification nor one of your company's own answers 404, and nothing is written.
10066
+ * Array of certification ID strings; global and your company's own may be mixed. Providing this replaces the entire membership; an empty array clears it. Omit to create an empty package or preserve existing membership on update. Null is not accepted. An id that is neither a global certification nor one of your company's own answers 404, and nothing is written.
10011
10067
  */
10012
10068
  certification_ids?: Array<string>;
10013
10069
  /**
@@ -14199,6 +14255,10 @@ export type CreateProgramData = {
14199
14255
  url: '/api/v1/apprenticeship/programs';
14200
14256
  };
14201
14257
  export type CreateProgramErrors = {
14258
+ /**
14259
+ * Bad Request
14260
+ */
14261
+ 400: Problem;
14202
14262
  /**
14203
14263
  * Forbidden
14204
14264
  */
@@ -14281,6 +14341,10 @@ export type UpdateProgramData = {
14281
14341
  url: '/api/v1/apprenticeship/programs/{id}';
14282
14342
  };
14283
14343
  export type UpdateProgramErrors = {
14344
+ /**
14345
+ * Bad Request
14346
+ */
14347
+ 400: Problem;
14284
14348
  /**
14285
14349
  * Forbidden
14286
14350
  */
@@ -14716,6 +14780,10 @@ export type CreateAttributeData = {
14716
14780
  url: '/api/v1/assets/attributes';
14717
14781
  };
14718
14782
  export type CreateAttributeErrors = {
14783
+ /**
14784
+ * Bad Request
14785
+ */
14786
+ 400: Problem;
14719
14787
  /**
14720
14788
  * Forbidden
14721
14789
  */
@@ -14798,6 +14866,10 @@ export type UpdateAttributeData = {
14798
14866
  url: '/api/v1/assets/attributes/{id}';
14799
14867
  };
14800
14868
  export type UpdateAttributeErrors = {
14869
+ /**
14870
+ * Bad Request
14871
+ */
14872
+ 400: Problem;
14801
14873
  /**
14802
14874
  * Forbidden
14803
14875
  */
@@ -14875,6 +14947,10 @@ export type CreateCategoryData = {
14875
14947
  url: '/api/v1/assets/categories';
14876
14948
  };
14877
14949
  export type CreateCategoryErrors = {
14950
+ /**
14951
+ * Bad Request
14952
+ */
14953
+ 400: Problem;
14878
14954
  /**
14879
14955
  * Forbidden
14880
14956
  */
@@ -14957,6 +15033,10 @@ export type UpdateCategoryData = {
14957
15033
  url: '/api/v1/assets/categories/{id}';
14958
15034
  };
14959
15035
  export type UpdateCategoryErrors = {
15036
+ /**
15037
+ * Bad Request
15038
+ */
15039
+ 400: Problem;
14960
15040
  /**
14961
15041
  * Forbidden
14962
15042
  */
@@ -15147,10 +15227,18 @@ export type CreateFormAssignmentTriggerData = {
15147
15227
  url: '/api/v1/assets/form_assignment_triggers';
15148
15228
  };
15149
15229
  export type CreateFormAssignmentTriggerErrors = {
15230
+ /**
15231
+ * Bad Request
15232
+ */
15233
+ 400: Problem;
15150
15234
  /**
15151
15235
  * Forbidden
15152
15236
  */
15153
15237
  403: Problem;
15238
+ /**
15239
+ * Reference not found
15240
+ */
15241
+ 404: Problem;
15154
15242
  /**
15155
15243
  * Unprocessable Content (invalid enum)
15156
15244
  */
@@ -15221,10 +15309,22 @@ export type UpdateFormAssignmentTriggerData = {
15221
15309
  url: '/api/v1/assets/form_assignment_triggers/{id}';
15222
15310
  };
15223
15311
  export type UpdateFormAssignmentTriggerErrors = {
15312
+ /**
15313
+ * Bad Request
15314
+ */
15315
+ 400: Problem;
15224
15316
  /**
15225
15317
  * Forbidden
15226
15318
  */
15227
15319
  403: Problem;
15320
+ /**
15321
+ * Reference not found
15322
+ */
15323
+ 404: Problem;
15324
+ /**
15325
+ * Unprocessable Content (malformed ID lists)
15326
+ */
15327
+ 422: Problem;
15228
15328
  };
15229
15329
  export type UpdateFormAssignmentTriggerError = UpdateFormAssignmentTriggerErrors[keyof UpdateFormAssignmentTriggerErrors];
15230
15330
  export type UpdateFormAssignmentTriggerResponses = {
@@ -16566,7 +16666,7 @@ export type UpdateServiceScheduleTemplateResponse = UpdateServiceScheduleTemplat
16566
16666
  export type SeedServiceScheduleTemplateData = {
16567
16667
  body: {
16568
16668
  /**
16569
- * Serial item ids to seed; omit to seed every cleanly-seedable item
16669
+ * Serial item ids to seed; omit or send [] to seed every cleanly-seedable item
16570
16670
  */
16571
16671
  assets_item_ids?: Array<string>;
16572
16672
  /**
@@ -16582,10 +16682,18 @@ export type SeedServiceScheduleTemplateData = {
16582
16682
  url: '/api/v1/assets/products/{product_id}/service_schedule_templates/{service_schedule_template_id}/seeds';
16583
16683
  };
16584
16684
  export type SeedServiceScheduleTemplateErrors = {
16685
+ /**
16686
+ * Bad Request
16687
+ */
16688
+ 400: Problem;
16585
16689
  /**
16586
16690
  * Forbidden
16587
16691
  */
16588
16692
  403: Problem;
16693
+ /**
16694
+ * Unprocessable Content (malformed assets_item_ids)
16695
+ */
16696
+ 422: Problem;
16589
16697
  };
16590
16698
  export type SeedServiceScheduleTemplateError = SeedServiceScheduleTemplateErrors[keyof SeedServiceScheduleTemplateErrors];
16591
16699
  export type SeedServiceScheduleTemplateResponses = {
@@ -16601,7 +16709,7 @@ export type SeedServiceScheduleTemplateResponse = SeedServiceScheduleTemplateRes
16601
16709
  export type SyncServiceScheduleTemplateData = {
16602
16710
  body: {
16603
16711
  /**
16604
- * Blocked schedule ids to sync; omit to sync every blocked schedule
16712
+ * Blocked schedule ids to sync; omit or send [] to sync every blocked schedule
16605
16713
  */
16606
16714
  schedule_ids?: Array<string>;
16607
16715
  /**
@@ -16617,10 +16725,18 @@ export type SyncServiceScheduleTemplateData = {
16617
16725
  url: '/api/v1/assets/products/{product_id}/service_schedule_templates/{service_schedule_template_id}/syncs';
16618
16726
  };
16619
16727
  export type SyncServiceScheduleTemplateErrors = {
16728
+ /**
16729
+ * Bad Request
16730
+ */
16731
+ 400: Problem;
16620
16732
  /**
16621
16733
  * Forbidden
16622
16734
  */
16623
16735
  403: Problem;
16736
+ /**
16737
+ * Unprocessable Content (malformed schedule_ids)
16738
+ */
16739
+ 422: Problem;
16624
16740
  };
16625
16741
  export type SyncServiceScheduleTemplateError = SyncServiceScheduleTemplateErrors[keyof SyncServiceScheduleTemplateErrors];
16626
16742
  export type SyncServiceScheduleTemplateResponses = {
@@ -16689,6 +16805,10 @@ export type CreateSiteData = {
16689
16805
  url: '/api/v1/assets/sites';
16690
16806
  };
16691
16807
  export type CreateSiteErrors = {
16808
+ /**
16809
+ * Bad Request
16810
+ */
16811
+ 400: Problem;
16692
16812
  /**
16693
16813
  * Forbidden
16694
16814
  */
@@ -16763,6 +16883,10 @@ export type UpdateSiteData = {
16763
16883
  url: '/api/v1/assets/sites/{id}';
16764
16884
  };
16765
16885
  export type UpdateSiteErrors = {
16886
+ /**
16887
+ * Bad Request
16888
+ */
16889
+ 400: Problem;
16766
16890
  /**
16767
16891
  * Forbidden
16768
16892
  */
@@ -17110,6 +17234,10 @@ export type CreateVendorData = {
17110
17234
  url: '/api/v1/assets/vendors';
17111
17235
  };
17112
17236
  export type CreateVendorErrors = {
17237
+ /**
17238
+ * Bad Request
17239
+ */
17240
+ 400: Problem;
17113
17241
  /**
17114
17242
  * Forbidden
17115
17243
  */
@@ -17140,6 +17268,10 @@ export type DeleteVendorErrors = {
17140
17268
  * Forbidden
17141
17269
  */
17142
17270
  403: Problem;
17271
+ /**
17272
+ * Not Found
17273
+ */
17274
+ 404: Problem;
17143
17275
  };
17144
17276
  export type DeleteVendorError = DeleteVendorErrors[keyof DeleteVendorErrors];
17145
17277
  export type DeleteVendorResponses = {
@@ -17162,6 +17294,10 @@ export type GetVendorErrors = {
17162
17294
  * Forbidden
17163
17295
  */
17164
17296
  403: Problem;
17297
+ /**
17298
+ * Not Found
17299
+ */
17300
+ 404: Problem;
17165
17301
  };
17166
17302
  export type GetVendorError = GetVendorErrors[keyof GetVendorErrors];
17167
17303
  export type GetVendorResponses = {
@@ -17180,10 +17316,18 @@ export type UpdateVendorData = {
17180
17316
  url: '/api/v1/assets/vendors/{id}';
17181
17317
  };
17182
17318
  export type UpdateVendorErrors = {
17319
+ /**
17320
+ * Bad Request
17321
+ */
17322
+ 400: Problem;
17183
17323
  /**
17184
17324
  * Forbidden
17185
17325
  */
17186
17326
  403: Problem;
17327
+ /**
17328
+ * Not Found
17329
+ */
17330
+ 404: Problem;
17187
17331
  /**
17188
17332
  * Unprocessable Content (invalid logo replacement)
17189
17333
  */
@@ -17988,6 +18132,10 @@ export type CreateDepartmentData = {
17988
18132
  url: '/api/v1/companies/departments';
17989
18133
  };
17990
18134
  export type CreateDepartmentErrors = {
18135
+ /**
18136
+ * Bad Request
18137
+ */
18138
+ 400: Problem;
17991
18139
  /**
17992
18140
  * Forbidden
17993
18141
  */
@@ -18070,10 +18218,18 @@ export type UpdateDepartmentData = {
18070
18218
  url: '/api/v1/companies/departments/{id}';
18071
18219
  };
18072
18220
  export type UpdateDepartmentErrors = {
18221
+ /**
18222
+ * Bad Request
18223
+ */
18224
+ 400: Problem;
18073
18225
  /**
18074
18226
  * Forbidden
18075
18227
  */
18076
18228
  403: Problem;
18229
+ /**
18230
+ * Not Found
18231
+ */
18232
+ 404: Problem;
18077
18233
  /**
18078
18234
  * Unprocessable Content
18079
18235
  */
@@ -18832,6 +18988,10 @@ export type AddUsersToGroupErrors = {
18832
18988
  * Forbidden
18833
18989
  */
18834
18990
  403: Problem;
18991
+ /**
18992
+ * Unprocessable Content (malformed user_ids)
18993
+ */
18994
+ 422: Problem;
18835
18995
  };
18836
18996
  export type AddUsersToGroupError = AddUsersToGroupErrors[keyof AddUsersToGroupErrors];
18837
18997
  export type AddUsersToGroupResponses = {
@@ -19229,6 +19389,10 @@ export type CreateJobScopePriceData = {
19229
19389
  url: '/api/v1/jobs/{job_id}/production/job_scope_prices';
19230
19390
  };
19231
19391
  export type CreateJobScopePriceErrors = {
19392
+ /**
19393
+ * Bad Request
19394
+ */
19395
+ 400: Problem;
19232
19396
  /**
19233
19397
  * Forbidden
19234
19398
  */
@@ -19318,6 +19482,10 @@ export type UpdateJobScopePriceData = {
19318
19482
  url: '/api/v1/jobs/{job_id}/production/job_scope_prices/{id}';
19319
19483
  };
19320
19484
  export type UpdateJobScopePriceErrors = {
19485
+ /**
19486
+ * Bad Request
19487
+ */
19488
+ 400: Problem;
19321
19489
  /**
19322
19490
  * Forbidden
19323
19491
  */
@@ -20243,6 +20411,14 @@ export type ListJobsData = {
20243
20411
  * Returns jobs whose purchase order number contains this substring (case-insensitive).
20244
20412
  */
20245
20413
  'filter[purchase_order_number]'?: string;
20414
+ /**
20415
+ * Returns jobs whose federal_pwa_mode is any of the given values. Comma-separate to match multiple (e.g. `all,pw_only`).
20416
+ */
20417
+ 'filter[federal_pwa_mode]'?: Array<'all' | 'pw_only' | 'ap_only' | 'none'>;
20418
+ /**
20419
+ * Returns jobs whose regional_pwa_mode is any of the given values. Comma-separate to match multiple (e.g. `all,pw_only`).
20420
+ */
20421
+ 'filter[regional_pwa_mode]'?: Array<'all' | 'pw_only' | 'ap_only' | 'none'>;
20246
20422
  /**
20247
20423
  * This pagination cursor corresponds to the cursor value found in the response in
20248
20424
  * `meta.page.next_cursor`.
@@ -20302,6 +20478,10 @@ export type CreateJobErrors = {
20302
20478
  * Forbidden
20303
20479
  */
20304
20480
  403: Problem;
20481
+ /**
20482
+ * Template not found
20483
+ */
20484
+ 404: Problem;
20305
20485
  /**
20306
20486
  * Unprocessable Content
20307
20487
  */
@@ -20627,6 +20807,10 @@ export type UpdateFeatureFormAssignmentTaskErrors = {
20627
20807
  * Not Found
20628
20808
  */
20629
20809
  404: Problem;
20810
+ /**
20811
+ * Unprocessable Content (malformed assignee IDs)
20812
+ */
20813
+ 422: Problem;
20630
20814
  };
20631
20815
  export type UpdateFeatureFormAssignmentTaskError = UpdateFeatureFormAssignmentTaskErrors[keyof UpdateFeatureFormAssignmentTaskErrors];
20632
20816
  export type UpdateFeatureFormAssignmentTaskResponses = {
@@ -20764,6 +20948,10 @@ export type UpdateSiteFormAssignmentTaskErrors = {
20764
20948
  * Not Found
20765
20949
  */
20766
20950
  404: Problem;
20951
+ /**
20952
+ * Unprocessable Content (malformed assignee IDs)
20953
+ */
20954
+ 422: Problem;
20767
20955
  };
20768
20956
  export type UpdateSiteFormAssignmentTaskError = UpdateSiteFormAssignmentTaskErrors[keyof UpdateSiteFormAssignmentTaskErrors];
20769
20957
  export type UpdateSiteFormAssignmentTaskResponses = {
@@ -23149,6 +23337,10 @@ export type ListPayrollRunsData = {
23149
23337
  */
23150
23338
  'filter[run_type]'?: string;
23151
23339
  'filter[timekeeping_pay_period_id]'?: string;
23340
+ /**
23341
+ * Returns only runs that have at least one paystub for this worker.
23342
+ */
23343
+ 'filter[user_id]'?: string;
23152
23344
  'filter[run_date][gte]'?: string;
23153
23345
  'filter[run_date][lte]'?: string;
23154
23346
  'filter[created_at][gte]'?: string;
@@ -25169,6 +25361,10 @@ export type CreateProjectData = {
25169
25361
  url: '/api/v1/projects';
25170
25362
  };
25171
25363
  export type CreateProjectErrors = {
25364
+ /**
25365
+ * Bad Request
25366
+ */
25367
+ 400: Problem;
25172
25368
  /**
25173
25369
  * Forbidden
25174
25370
  */
@@ -25231,6 +25427,10 @@ export type UpdateProjectData = {
25231
25427
  url: '/api/v1/projects/{id}';
25232
25428
  };
25233
25429
  export type UpdateProjectErrors = {
25430
+ /**
25431
+ * Bad Request
25432
+ */
25433
+ 400: Problem;
25234
25434
  /**
25235
25435
  * Forbidden
25236
25436
  */
@@ -26140,6 +26340,10 @@ export type CreateTimeCardPerDiemData = {
26140
26340
  url: '/api/v1/time_cards/{time_card_id}/per_diems';
26141
26341
  };
26142
26342
  export type CreateTimeCardPerDiemErrors = {
26343
+ /**
26344
+ * Bad Request
26345
+ */
26346
+ 400: Problem;
26143
26347
  /**
26144
26348
  * Forbidden
26145
26349
  */
@@ -26198,6 +26402,10 @@ export type UpdateTimeCardPerDiemData = {
26198
26402
  url: '/api/v1/time_cards/{time_card_id}/per_diems/{id}';
26199
26403
  };
26200
26404
  export type UpdateTimeCardPerDiemErrors = {
26405
+ /**
26406
+ * Bad Request
26407
+ */
26408
+ 400: Problem;
26201
26409
  /**
26202
26410
  * Forbidden
26203
26411
  */
@@ -26485,6 +26693,10 @@ export type ListTimeCardsData = {
26485
26693
  query?: {
26486
26694
  'filter[timekeeping_pay_period_id]'?: string;
26487
26695
  'filter[user_id]'?: string;
26696
+ /**
26697
+ * Returns cards with a time entry on this job or a position on this job overlapping the card's pay period. A job with no matching cards returns an empty list.
26698
+ */
26699
+ 'filter[job_id]'?: string;
26488
26700
  'filter[start_time][gte]'?: string;
26489
26701
  'filter[start_time][lte]'?: string;
26490
26702
  filter?: string;
@@ -27417,6 +27629,10 @@ export type CreateAttestationConfigData = {
27417
27629
  url: '/api/v1/timekeeping/pay_period_configs/{pay_period_config_id}/attestation_configs';
27418
27630
  };
27419
27631
  export type CreateAttestationConfigErrors = {
27632
+ /**
27633
+ * Bad Request
27634
+ */
27635
+ 400: Problem;
27420
27636
  /**
27421
27637
  * Forbidden
27422
27638
  */
@@ -27887,6 +28103,75 @@ export type GetTimeCardActualResponses = {
27887
28103
  200: TimeCardActualsResponseObject;
27888
28104
  };
27889
28105
  export type GetTimeCardActualResponse = GetTimeCardActualResponses[keyof GetTimeCardActualResponses];
28106
+ export type ListTimeOffRequestsData = {
28107
+ body?: never;
28108
+ path?: never;
28109
+ query?: {
28110
+ /**
28111
+ * Returns only requests for this worker.
28112
+ */
28113
+ 'filter[user_id]'?: string;
28114
+ /**
28115
+ * Returns only requests in this status.
28116
+ */
28117
+ 'filter[status]'?: 'pending' | 'approved' | 'denied' | 'cancelled' | 'expired';
28118
+ /**
28119
+ * This pagination cursor corresponds to the cursor value found in the response in
28120
+ * `meta.page.next_cursor`.
28121
+ */
28122
+ 'page[cursor]'?: string;
28123
+ /**
28124
+ * Maximum number of records to return per page. Defaults to 20. A value above 100 is capped to 100 rather than rejected; a value that is zero, negative, or not an integer is rejected with a `400`.
28125
+ */
28126
+ 'page[limit]'?: number;
28127
+ page?: string;
28128
+ };
28129
+ url: '/api/v1/timekeeping/time_off_requests';
28130
+ };
28131
+ export type ListTimeOffRequestsErrors = {
28132
+ /**
28133
+ * Bad Request
28134
+ */
28135
+ 400: Problem;
28136
+ /**
28137
+ * Forbidden
28138
+ */
28139
+ 403: Problem;
28140
+ };
28141
+ export type ListTimeOffRequestsError = ListTimeOffRequestsErrors[keyof ListTimeOffRequestsErrors];
28142
+ export type ListTimeOffRequestsResponses = {
28143
+ /**
28144
+ * Success
28145
+ */
28146
+ 200: TimeOffRequestsResponseObject;
28147
+ };
28148
+ export type ListTimeOffRequestsResponse = ListTimeOffRequestsResponses[keyof ListTimeOffRequestsResponses];
28149
+ export type GetTimeOffRequestData = {
28150
+ body?: never;
28151
+ path: {
28152
+ id: string;
28153
+ };
28154
+ query?: never;
28155
+ url: '/api/v1/timekeeping/time_off_requests/{id}';
28156
+ };
28157
+ export type GetTimeOffRequestErrors = {
28158
+ /**
28159
+ * Forbidden
28160
+ */
28161
+ 403: Problem;
28162
+ /**
28163
+ * Not Found
28164
+ */
28165
+ 404: Problem;
28166
+ };
28167
+ export type GetTimeOffRequestError = GetTimeOffRequestErrors[keyof GetTimeOffRequestErrors];
28168
+ export type GetTimeOffRequestResponses = {
28169
+ /**
28170
+ * Success
28171
+ */
28172
+ 200: TimeOffRequestResponseObject;
28173
+ };
28174
+ export type GetTimeOffRequestResponse = GetTimeOffRequestResponses[keyof GetTimeOffRequestResponses];
27890
28175
  export type ListTimeSessionsData = {
27891
28176
  body?: never;
27892
28177
  path?: never;
@@ -28408,6 +28693,14 @@ export type ListUsersData = {
28408
28693
  * Fuzzy-matches the person name (trigram word-similarity). Matches the name column only — not email or phone.
28409
28694
  */
28410
28695
  'filter[name]'?: string;
28696
+ /**
28697
+ * Return people whose currently valid employment at the credential company has this manager. A manager with no reports at this company returns an empty list.
28698
+ */
28699
+ 'filter[manager_user_id]'?: string;
28700
+ /**
28701
+ * Return people whose currently valid employment at the credential company is in this department. A department with no members returns an empty list.
28702
+ */
28703
+ 'filter[department_id]'?: string;
28411
28704
  /**
28412
28705
  * This pagination cursor corresponds to the cursor value found in the response in
28413
28706
  * `meta.page.next_cursor`.