@dsptch-work/api-client 0.51.1 → 0.52.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -259,6 +259,12 @@ export type Problem = {
259
259
  *
260
260
  * ## 422
261
261
  *
262
+ * ### aggregate_time_mode_required
263
+ *
264
+ * **Aggregate Time Mode Required**
265
+ *
266
+ * Writing a job time card day is only supported when that day's pay schedule keeps time in aggregate mode. A day on a base-mode schedule cannot be written this way; record that time through time entries instead.
267
+ *
262
268
  * ### attachment_not_image
263
269
  *
264
270
  * **Attachment Not An Image**
@@ -424,7 +430,7 @@ export type Problem = {
424
430
  * Another write to the same resource held it for longer than this request was willing to wait, or collided with it, so nothing was applied. The request itself is fine — resend it unchanged after the `Retry-After` window.
425
431
  *
426
432
  */
427
- export type ProblemTypeCatalog = 'blank_axis' | 'invalid_cursor' | 'invalid_filter_key' | 'invalid_limit' | 'invalid_signature' | 'malformed_body' | 'non_range_filter_value' | 'non_scalar_axis' | 'non_scalar_filter_value' | 'parameter_missing' | 'parameter_not_object' | 'unknown_axis' | 'unknown_key' | 'unsupported_axis' | 'valid_axis_on_timeline' | 'unauthorized' | 'company_scoped_key_required' | 'forbidden' | 'forbidden_key' | 'insufficient_api_key_scope' | 'user_scoped_key_required' | 'not_found' | 'already_subscribed' | 'already_terminated' | 'authorization_revoked' | 'import_in_progress' | 'pay_schedule_already_exists' | 'pay_schedule_deletion_in_progress' | 'pay_schedule_deletion_refused' | 'product_archived' | 'span_beyond_timeline_end' | 'version_overlap' | 'precondition_failed' | 'attachment_not_image' | 'certified_payroll_export_blocked' | 'certified_payroll_format_unavailable' | 'company_not_employer' | 'confirm_apprenticeship_conflict' | 'destroy_restricted' | 'interval_too_wide' | 'invalid_date' | 'invalid_filter_value' | 'invalid_iso8601_duration' | 'invalid_placement_move' | 'invalid_signed_id' | 'not_incomplete_permanent_copy' | 'nothing_exportable' | 'nothing_to_cancel' | 'pagination_failed' | 'subtype_foreign_keys' | 'synced_determination' | 'user_not_company_member' | 'validation_failed' | 'wage_schedule_outside_program' | 'precondition_required' | 'too_many_requests' | 'internal_error' | 'database_timeout' | 'write_contended';
433
+ export type ProblemTypeCatalog = 'blank_axis' | 'invalid_cursor' | 'invalid_filter_key' | 'invalid_limit' | 'invalid_signature' | 'malformed_body' | 'non_range_filter_value' | 'non_scalar_axis' | 'non_scalar_filter_value' | 'parameter_missing' | 'parameter_not_object' | 'unknown_axis' | 'unknown_key' | 'unsupported_axis' | 'valid_axis_on_timeline' | 'unauthorized' | 'company_scoped_key_required' | 'forbidden' | 'forbidden_key' | 'insufficient_api_key_scope' | 'user_scoped_key_required' | 'not_found' | 'already_subscribed' | 'already_terminated' | 'authorization_revoked' | 'import_in_progress' | 'pay_schedule_already_exists' | 'pay_schedule_deletion_in_progress' | 'pay_schedule_deletion_refused' | 'product_archived' | 'span_beyond_timeline_end' | 'version_overlap' | 'precondition_failed' | 'aggregate_time_mode_required' | 'attachment_not_image' | 'certified_payroll_export_blocked' | 'certified_payroll_format_unavailable' | 'company_not_employer' | 'confirm_apprenticeship_conflict' | 'destroy_restricted' | 'interval_too_wide' | 'invalid_date' | 'invalid_filter_value' | 'invalid_iso8601_duration' | 'invalid_placement_move' | 'invalid_signed_id' | 'not_incomplete_permanent_copy' | 'nothing_exportable' | 'nothing_to_cancel' | 'pagination_failed' | 'subtype_foreign_keys' | 'synced_determination' | 'user_not_company_member' | 'validation_failed' | 'wage_schedule_outside_program' | 'precondition_required' | 'too_many_requests' | 'internal_error' | 'database_timeout' | 'write_contended';
428
434
  export type ApiKeyScopeResponseObject = {
429
435
  resource: string;
430
436
  action: 'read' | 'create' | 'update' | 'delete';
@@ -792,6 +798,10 @@ export type CompetencyCriterionResponseObject = {
792
798
  * Guidance on what evidence satisfies the criterion; null when unset.
793
799
  */
794
800
  evidence_note: string | null;
801
+ /**
802
+ * Stored permission for this criterion to be marked not applicable. An assessment cannot use the flag.
803
+ */
804
+ allow_not_applicable: boolean;
795
805
  /**
796
806
  * Suggested assessment methods for this criterion. Empty when none are suggested. An assessment does not have to use them.
797
807
  */
@@ -821,6 +831,10 @@ export type CompetencyCriterionParameters = {
821
831
  * Guidance on what evidence satisfies the criterion; optional, null to clear.
822
832
  */
823
833
  evidence_note?: string | null;
834
+ /**
835
+ * Stored permission for this criterion to be marked not applicable. Optional. An assessment cannot use the flag.
836
+ */
837
+ allow_not_applicable?: boolean;
824
838
  /**
825
839
  * Suggested assessment methods. Optional. Send an empty array to clear; a repeated method answers 422.
826
840
  */
@@ -1086,6 +1100,10 @@ export type CompetencyAssessmentCriterionResponseObject = {
1086
1100
  * When the reviewer decided this line; null until then.
1087
1101
  */
1088
1102
  decided_at: string | null;
1103
+ /**
1104
+ * Whether an assessor judged this criterion does not apply. A not-applicable line stays pending and is excluded from the decision and the outcome.
1105
+ */
1106
+ not_applicable: boolean;
1089
1107
  /**
1090
1108
  * Reviewer decision: pending, competent, or not_yet_competent. Omitted when the caller is the candidate and the package is not yet decided.
1091
1109
  */
@@ -2238,7 +2256,7 @@ export type PeopleEmploymentCreateParameters = {
2238
2256
  */
2239
2257
  compensation_type?: 'hourly' | 'salary';
2240
2258
  /**
2241
- * Base hourly pay in cents as a decimal string. Omit or send null to leave it unset.
2259
+ * Base hourly pay in cents as a decimal string. Omit or send null to leave it unset. Must be blank when compensation_type is `salary`; a value answers 422.
2242
2260
  */
2243
2261
  hourly_rate_cents?: string | null;
2244
2262
  /**
@@ -2278,7 +2296,7 @@ export type PeopleEmploymentCreateParameters = {
2278
2296
  */
2279
2297
  employer_combined_savings_cents?: string | null;
2280
2298
  /**
2281
- * Annual fixed-hours salary in cents as a decimal string. Variable-hours and fluctuating-workweek salaries are not supported. Omit or send null to leave it unset.
2299
+ * Annual fixed-hours salary in cents as a decimal string. Variable-hours and fluctuating-workweek salaries are not supported. Omit or send null to leave it unset. Must be blank when compensation_type is `hourly`; a value answers 422.
2282
2300
  */
2283
2301
  salary_annual_amount_cents?: string | null;
2284
2302
  /**
@@ -2299,7 +2317,7 @@ export type PeopleEmploymentScheduledChangeCreateParameters = {
2299
2317
  */
2300
2318
  compensation_type?: 'hourly' | 'salary';
2301
2319
  /**
2302
- * Hourly pay in cents as a decimal string. Omit to carry forward the preceding version, or send null to clear it.
2320
+ * Hourly pay in cents as a decimal string. Omit to carry forward the preceding version, or send null to clear it. Applies only to hourly versions. A switch to salary clears it unless it is sent, a change that names no compensation_type leaves later salaried versions without it, and a value for a salaried version answers 422.
2303
2321
  */
2304
2322
  hourly_rate_cents?: string | null;
2305
2323
  /**
@@ -2339,7 +2357,7 @@ export type PeopleEmploymentScheduledChangeCreateParameters = {
2339
2357
  */
2340
2358
  employer_combined_savings_cents?: string | null;
2341
2359
  /**
2342
- * Annual fixed-hours salary in cents as a decimal string. Variable-hours and fluctuating-workweek salaries are not supported. Omit to carry forward the preceding version, or send null to clear it.
2360
+ * Annual fixed-hours salary in cents as a decimal string. Variable-hours and fluctuating-workweek salaries are not supported. Omit to carry forward the preceding version, or send null to clear it. Applies only to salaried versions. A switch to hourly clears it unless it is sent, a change that names no compensation_type leaves later hourly versions without it, and a value for an hourly version answers 422.
2343
2361
  */
2344
2362
  salary_annual_amount_cents?: string | null;
2345
2363
  /**
@@ -2360,7 +2378,7 @@ export type PeopleEmploymentScheduledChangeUpdateParameters = {
2360
2378
  */
2361
2379
  compensation_type?: 'hourly' | 'salary';
2362
2380
  /**
2363
- * Hourly pay in cents as a decimal string. Omit to preserve the value at the targeted boundary, or send null to clear it.
2381
+ * Hourly pay in cents as a decimal string. Omit to preserve the value at the targeted boundary, or send null to clear it. Applies only to hourly versions. A switch to salary clears it unless it is sent, a change that names no compensation_type leaves later salaried versions without it, and a value for a salaried version answers 422.
2364
2382
  */
2365
2383
  hourly_rate_cents?: string | null;
2366
2384
  /**
@@ -2400,7 +2418,7 @@ export type PeopleEmploymentScheduledChangeUpdateParameters = {
2400
2418
  */
2401
2419
  employer_combined_savings_cents?: string | null;
2402
2420
  /**
2403
- * Annual fixed-hours salary in cents as a decimal string. Variable-hours and fluctuating-workweek salaries are not supported. Omit to preserve the value at the targeted boundary, or send null to clear it.
2421
+ * Annual fixed-hours salary in cents as a decimal string. Variable-hours and fluctuating-workweek salaries are not supported. Omit to preserve the value at the targeted boundary, or send null to clear it. Applies only to salaried versions. A switch to hourly clears it unless it is sent, a change that names no compensation_type leaves later hourly versions without it, and a value for an hourly version answers 422.
2404
2422
  */
2405
2423
  salary_annual_amount_cents?: string | null;
2406
2424
  /**
@@ -6127,7 +6145,7 @@ export type UserParameters = {
6127
6145
  */
6128
6146
  compensation_type?: 'hourly' | 'salary';
6129
6147
  /**
6130
- * Base hourly pay in cents as a decimal string (for example "3250" for 32.50). Omit or send null to leave it unset; send "0" for zero. A JSON number answers 422; send the amount as a string.
6148
+ * Base hourly pay in cents as a decimal string (for example "3250" for 32.50). Omit or send null to leave it unset; send "0" for zero. A JSON number answers 422; send the amount as a string. Must be blank when compensation_type is `salary`; a value answers 422.
6131
6149
  */
6132
6150
  hourly_rate_cents?: string | null;
6133
6151
  /**
@@ -6844,7 +6862,7 @@ export type UserCompanyCreateParameters = {
6844
6862
  */
6845
6863
  compensation_type?: 'hourly' | 'salary';
6846
6864
  /**
6847
- * Base hourly pay in cents as a decimal string (for example "3250" for 32.50). Omit or send null to leave it unset; send "0" for zero. A JSON number answers 422; send the amount as a string.
6865
+ * Base hourly pay in cents as a decimal string (for example "3250" for 32.50). Omit or send null to leave it unset; send "0" for zero. A JSON number answers 422; send the amount as a string. Must be blank when compensation_type is `salary`; a value answers 422.
6848
6866
  */
6849
6867
  hourly_rate_cents?: string | null;
6850
6868
  /**
@@ -6916,7 +6934,7 @@ export type UserCompanyScheduledChangesParameters = {
6916
6934
  */
6917
6935
  effective_date: string;
6918
6936
  /**
6919
- * Base hourly pay in cents as a decimal string (for example "3250" for 32.50). Omit to carry forward the preceding version, or send null to clear it; send "0" for zero.
6937
+ * Base hourly pay in cents as a decimal string (for example "3250" for 32.50). Omit to carry forward the preceding version, or send null to clear it; send "0" for zero. Applies only to hourly versions. A switch to salary clears it unless it is sent, a change that names no compensation_type leaves later salaried versions without it, and a value for a salaried version answers 422.
6920
6938
  */
6921
6939
  hourly_rate_cents?: string | null;
6922
6940
  /**
@@ -8146,6 +8164,40 @@ export type JobTimeCardDayResponseObject = {
8146
8164
  */
8147
8165
  updated_at: string;
8148
8166
  };
8167
+ /**
8168
+ * Partial update of an aggregate-mode job time card day. Send only the fields to change; omitted fields keep their current values. Minutes are integer minutes, not GUI hours. Derived totals such as minutes_worked and cumulatives are not writable.
8169
+ */
8170
+ export type JobTimeCardDayUpdateParameters = {
8171
+ /**
8172
+ * Overtime minutes bucketed by pay-rate multiplier. When this object is sent, all three keys are required. Omit the object to leave overtime unchanged.
8173
+ */
8174
+ overtime_minutes_worked?: {
8175
+ /**
8176
+ * Minutes at the 1.0x (straight-time) pay-rate multiplier.
8177
+ */
8178
+ 1: number;
8179
+ /**
8180
+ * Minutes at the 1.5x (time-and-a-half) overtime multiplier.
8181
+ */
8182
+ 1.5: number;
8183
+ /**
8184
+ * Minutes at the 2.0x (double-time) overtime multiplier.
8185
+ */
8186
+ 2: number;
8187
+ };
8188
+ /**
8189
+ * Total pay for this date in integer cents, as a decimal string. Omit to leave it unchanged.
8190
+ */
8191
+ pay_cents?: string;
8192
+ /**
8193
+ * Additional pay from the 1.5x overtime multiplier on this date, in integer cents, as a decimal string. Omit to leave it unchanged.
8194
+ */
8195
+ one_five_x_adder_cents?: string;
8196
+ /**
8197
+ * Additional pay from the 2.0x overtime multiplier on this date, in integer cents, as a decimal string. Omit to leave it unchanged.
8198
+ */
8199
+ two_x_adder_cents?: string;
8200
+ };
8149
8201
  /**
8150
8202
  * A page of job time card days, with pagination metadata and navigation links.
8151
8203
  */
@@ -9561,6 +9613,13 @@ export type SiteCheckInResponseObject = {
9561
9613
  site_contact_last_name: string | null;
9562
9614
  employer_name: string | null;
9563
9615
  description: string | null;
9616
+ /**
9617
+ * The fixed reason chosen on a NERC check-in; null on non-NERC check-ins.
9618
+ */
9619
+ visit_reason: 'om_team' | 'oem_service_tickets' | 'owners_visit' | 'warranty_service' | 'audit_inspections' | 'regulatory_compliance' | 'third_party_vendor_support' | 'other' | null;
9620
+ /**
9621
+ * Free-text reason detail behind an `other` visit_reason.
9622
+ */
9564
9623
  rationale: string | null;
9565
9624
  /**
9566
9625
  * How the check-in was captured.
@@ -10000,7 +10059,7 @@ export type ComplianceCheckDocumentObject = {
10000
10059
  */
10001
10060
  export type ComplianceCheckParameters = {
10002
10061
  /**
10003
- * Only the person-settable statuses are writable, mirroring the web app: `dismissed` excludes the check from automatic re-evaluation; `pending` re-evaluates it on save. Evaluation owns `passed`/`failed`, so sending either, or null, answers 422.
10062
+ * Only the person-settable statuses are writable, mirroring the web app: `dismissed` excludes the check from automatic re-evaluation while its requirement allows dismissal, and answers 422 validation_failed, leaving the check unchanged, when the requirement does not allow dismissal. A permitted dismissal already stored stays until the check is set to `pending`, which re-evaluates it on save. A stored dismissal whose requirement forbids dismissal can be replaced by evaluation. Evaluation owns `passed`/`failed`, so sending either, or null, answers 422.
10004
10063
  */
10005
10064
  status?: 'dismissed' | 'pending';
10006
10065
  /**
@@ -12400,6 +12459,10 @@ export type ProductionPlannedFeatureTaskParameters = {
12400
12459
  * Optional instructions. Null clears the description.
12401
12460
  */
12402
12461
  description?: string | null;
12462
+ /**
12463
+ * Optional intended start as a calendar day in the stored Task zone. Null clears it; omission preserves it.
12464
+ */
12465
+ planned_start_date?: string | null;
12403
12466
  /**
12404
12467
  * Optional intended deadline as an instant with a UTC offset. Null clears it; it is independent from actual work_date.
12405
12468
  */
@@ -12433,6 +12496,10 @@ export type ProductionPlannedFeatureTaskUpdateParameters = {
12433
12496
  * Optional instructions. Null clears the description.
12434
12497
  */
12435
12498
  description?: string | null;
12499
+ /**
12500
+ * Optional intended start as a calendar day in the stored Task zone. Null clears it; omission preserves it.
12501
+ */
12502
+ planned_start_date?: string | null;
12436
12503
  /**
12437
12504
  * Optional intended deadline as an instant with a UTC offset. Null clears it; it is independent from actual work_date.
12438
12505
  */
@@ -12499,6 +12566,10 @@ export type ProductionPlannedFeatureTaskResponseObject = {
12499
12566
  * Plain-text intended instructions; empty when absent.
12500
12567
  */
12501
12568
  description: string;
12569
+ /**
12570
+ * Optional intended start as a calendar day in the stored Task zone. Null clears it; omission preserves it.
12571
+ */
12572
+ planned_start_date: string | null;
12502
12573
  /**
12503
12574
  * Nullable intended deadline as a UTC instant; independent from actual work_date.
12504
12575
  */
@@ -12520,6 +12591,163 @@ export type ProductionPlannedFeatureTaskResponseObject = {
12520
12591
  */
12521
12592
  updated_at: string;
12522
12593
  };
12594
+ /**
12595
+ * Optional phase planning and explicit retained work facts, independently of whole-service completion.
12596
+ */
12597
+ export type ProductionPhaseParameters = {
12598
+ /**
12599
+ * Operational phase title.
12600
+ */
12601
+ name: string;
12602
+ /**
12603
+ * Intended instructions. Null clears input; responses emit empty text when absent.
12604
+ */
12605
+ description?: string | null;
12606
+ /**
12607
+ * Optional planned calendar day in the stored zone. Omission preserves; null clears.
12608
+ */
12609
+ planned_start_date?: string | null;
12610
+ /**
12611
+ * Optional intended instant with UTC offset. Omission preserves; null clears.
12612
+ */
12613
+ time_due?: string | null;
12614
+ /**
12615
+ * Stored IANA time zone for planning dates and deadlines.
12616
+ */
12617
+ tz_name?: string;
12618
+ /**
12619
+ * Company keys must name an eligible company member; user keys may omit or name only their authenticated user. Separate from actual participants and audit principal.
12620
+ */
12621
+ performed_by_user_id?: string;
12622
+ };
12623
+ /**
12624
+ * Optional phase planning and explicit retained work facts, independently of whole-service completion.
12625
+ */
12626
+ export type ProductionPhaseUpdateParameters = {
12627
+ /**
12628
+ * Operational phase title.
12629
+ */
12630
+ name?: string;
12631
+ /**
12632
+ * Intended instructions. Null clears input; responses emit empty text when absent.
12633
+ */
12634
+ description?: string | null;
12635
+ /**
12636
+ * Optional planned calendar day in the stored zone. Omission preserves; null clears.
12637
+ */
12638
+ planned_start_date?: string | null;
12639
+ /**
12640
+ * Optional intended instant with UTC offset. Omission preserves; null clears.
12641
+ */
12642
+ time_due?: string | null;
12643
+ /**
12644
+ * Stored IANA time zone for planning dates and deadlines.
12645
+ */
12646
+ tz_name?: string;
12647
+ /**
12648
+ * Company keys must name an eligible company member; user keys may omit or name only their authenticated user. Separate from actual participants and audit principal.
12649
+ */
12650
+ performed_by_user_id?: string;
12651
+ };
12652
+ /**
12653
+ * Optional phase planning and explicit retained work facts, independently of whole-service completion.
12654
+ */
12655
+ export type ProductionPhaseArchiveParameters = {
12656
+ /**
12657
+ * True archives the selected retained phase; false restores it subject to current parent eligibility.
12658
+ */
12659
+ archived: boolean;
12660
+ /**
12661
+ * Company keys must name an eligible company member; user keys may omit or name only their authenticated user. Separate from actual participants and audit principal.
12662
+ */
12663
+ performed_by_user_id?: string;
12664
+ };
12665
+ /**
12666
+ * Optional phase planning and explicit retained work facts, independently of whole-service completion.
12667
+ */
12668
+ export type ProductionPhaseResponseObject = {
12669
+ /**
12670
+ * Stable retained phase identifier.
12671
+ */
12672
+ id: string;
12673
+ /**
12674
+ * Immutable owning planned Feature work from the URL.
12675
+ */
12676
+ production_planned_feature_task_id: string;
12677
+ /**
12678
+ * Immutable owning service scope from the URL.
12679
+ */
12680
+ production_job_scope_price_id: string;
12681
+ /**
12682
+ * Paired Task identity; generic Task completion is unsupported.
12683
+ */
12684
+ task_id: string;
12685
+ /**
12686
+ * Operational phase title.
12687
+ */
12688
+ name: string;
12689
+ /**
12690
+ * Intended instructions. Null clears input; responses emit empty text when absent.
12691
+ */
12692
+ description: string;
12693
+ /**
12694
+ * Optional planned calendar day in the stored zone. Omission preserves; null clears.
12695
+ */
12696
+ planned_start_date: string | null;
12697
+ /**
12698
+ * Optional intended instant with UTC offset. Omission preserves; null clears.
12699
+ */
12700
+ time_due: string | null;
12701
+ /**
12702
+ * Stored IANA time zone for planning dates and deadlines.
12703
+ */
12704
+ tz_name: string;
12705
+ /**
12706
+ * Explicit actual work day. Null clears; never inferred from the request time.
12707
+ */
12708
+ actual_start_date: string | null;
12709
+ /**
12710
+ * Null for current work, otherwise the retained archive instant.
12711
+ */
12712
+ archived_at: string | null;
12713
+ /**
12714
+ * When the record was created (ISO 8601).
12715
+ */
12716
+ created_at: string;
12717
+ /**
12718
+ * When the record was last updated (ISO 8601).
12719
+ */
12720
+ updated_at: string;
12721
+ /**
12722
+ * Retained finish evidence, including withdrawn evidence; null when no finish has been reported.
12723
+ */
12724
+ completion: {
12725
+ /**
12726
+ * Stable retained finish report identifier.
12727
+ */
12728
+ id: string;
12729
+ /**
12730
+ * Explicit actual finish calendar day. Required for creation and never nullable.
12731
+ */
12732
+ work_date: string;
12733
+ /**
12734
+ * Optional report notes. Null clears; omission preserves corrections.
12735
+ */
12736
+ notes: string | null;
12737
+ /**
12738
+ * Original human filer, immutable during corrections.
12739
+ */
12740
+ created_by_user_id: string;
12741
+ /**
12742
+ * Optional actual Job participant positions; [] means workers unspecified. Omission preserves on correction; null and unavailable IDs are refused.
12743
+ */
12744
+ position_ids: Array<string>;
12745
+ /**
12746
+ * Null for effective evidence, otherwise the retained withdrawal instant.
12747
+ */
12748
+ withdrawn_at: string | null;
12749
+ } | null;
12750
+ };
12523
12751
  /**
12524
12752
  * Create a dated commitment on a Feature-tracked Job scope. The date and condition object are required; condition.requirement_kind is required. Omission answers 400. The server chooses and owns the condition type and identity. A Quantity-tracked scope answers 422. No performed_by_user_id is required or accepted; audit records the authenticated user, or null for a company key.
12525
12753
  */
@@ -15785,6 +16013,10 @@ export type AssetsSiteResponseObject = {
15785
16013
  * IDs of the users who answer for this location — a transfer sent to it is addressed to them, and they are notified and asked to accept it. Empty when nobody is named, in which case every admin and manager of the company answers.
15786
16014
  */
15787
16015
  responsible_user_ids: Array<string>;
16016
+ /**
16017
+ * When the location was archived (ISO 8601); null while active. An archived location is hidden from listings by default (see filter[state]), accepts no stock or transfers, and is read-only until unarchived. Archiving frees its name and its backing Atlas site for another location.
16018
+ */
16019
+ archived_at: string | null;
15788
16020
  /**
15789
16021
  * When the record was created (ISO 8601).
15790
16022
  */
@@ -15815,6 +16047,12 @@ export type AssetsSiteParameters = {
15815
16047
  */
15816
16048
  responsible_user_ids?: Array<string>;
15817
16049
  };
16050
+ /**
16051
+ * Archive a site. The body takes no fields; send an empty object or no body. Archiving an archived site returns it unchanged.
16052
+ */
16053
+ export type AssetsSiteArchiveParameters = {
16054
+ [key: string]: never;
16055
+ };
15818
16056
  /**
15819
16057
  * Request body for updating an asset location. Every field is optional; send only the fields to change. The saved location must still have a name or a backing `site_id`.
15820
16058
  */
@@ -17739,6 +17977,12 @@ export type UserCertificationResponseObjectWritable = {
17739
17977
  */
17740
17978
  updated_at: string;
17741
17979
  };
17980
+ /**
17981
+ * Archive a site. The body takes no fields; send an empty object or no body. Archiving an archived site returns it unchanged.
17982
+ */
17983
+ export type AssetsSiteArchiveParametersWritable = {
17984
+ [key: string]: never;
17985
+ };
17742
17986
  export type ListApiKeyScopesData = {
17743
17987
  body?: never;
17744
17988
  path?: never;
@@ -21424,6 +21668,14 @@ export type ListAssetsSitesData = {
21424
21668
  body?: never;
21425
21669
  path?: never;
21426
21670
  query?: {
21671
+ /**
21672
+ * Filter by lifecycle state (defaults to 'active', hiding archived sites):
21673
+ * * `active`
21674
+ * * `archived`
21675
+ * * `all`
21676
+ *
21677
+ */
21678
+ 'filter[state]'?: string;
21427
21679
  'filter[created_at][gte]'?: string;
21428
21680
  'filter[created_at][lte]'?: string;
21429
21681
  'filter[updated_at][gte]'?: string;
@@ -21591,6 +21843,70 @@ export type UpdateSiteResponses = {
21591
21843
  200: AssetsSiteResponseObject;
21592
21844
  };
21593
21845
  export type UpdateSiteResponse = UpdateSiteResponses[keyof UpdateSiteResponses];
21846
+ export type UnarchiveAssetsSiteData = {
21847
+ body?: never;
21848
+ path: {
21849
+ site_id: string;
21850
+ };
21851
+ query?: never;
21852
+ url: '/api/v1/assets/sites/{site_id}/archive';
21853
+ };
21854
+ export type UnarchiveAssetsSiteErrors = {
21855
+ /**
21856
+ * Forbidden
21857
+ */
21858
+ 403: Problem;
21859
+ /**
21860
+ * Not Found
21861
+ */
21862
+ 404: Problem;
21863
+ /**
21864
+ * Unprocessable Content
21865
+ */
21866
+ 422: Problem;
21867
+ };
21868
+ export type UnarchiveAssetsSiteError = UnarchiveAssetsSiteErrors[keyof UnarchiveAssetsSiteErrors];
21869
+ export type UnarchiveAssetsSiteResponses = {
21870
+ /**
21871
+ * Success
21872
+ */
21873
+ 200: AssetsSiteResponseObject;
21874
+ };
21875
+ export type UnarchiveAssetsSiteResponse = UnarchiveAssetsSiteResponses[keyof UnarchiveAssetsSiteResponses];
21876
+ export type ArchiveAssetsSiteData = {
21877
+ body?: AssetsSiteArchiveParametersWritable;
21878
+ path: {
21879
+ site_id: string;
21880
+ };
21881
+ query?: never;
21882
+ url: '/api/v1/assets/sites/{site_id}/archive';
21883
+ };
21884
+ export type ArchiveAssetsSiteErrors = {
21885
+ /**
21886
+ * Bad Request
21887
+ */
21888
+ 400: Problem;
21889
+ /**
21890
+ * Forbidden
21891
+ */
21892
+ 403: Problem;
21893
+ /**
21894
+ * Not Found
21895
+ */
21896
+ 404: Problem;
21897
+ /**
21898
+ * Unprocessable Content
21899
+ */
21900
+ 422: Problem;
21901
+ };
21902
+ export type ArchiveAssetsSiteError = ArchiveAssetsSiteErrors[keyof ArchiveAssetsSiteErrors];
21903
+ export type ArchiveAssetsSiteResponses = {
21904
+ /**
21905
+ * Created
21906
+ */
21907
+ 201: AssetsSiteResponseObject;
21908
+ };
21909
+ export type ArchiveAssetsSiteResponse = ArchiveAssetsSiteResponses[keyof ArchiveAssetsSiteResponses];
21594
21910
  export type ListSubLocationsData = {
21595
21911
  body?: never;
21596
21912
  path?: never;
@@ -26228,6 +26544,171 @@ export type UpdateArchiveResponses = {
26228
26544
  200: ProductionPlannedFeatureTaskResponseObject;
26229
26545
  };
26230
26546
  export type UpdateArchiveResponse = UpdateArchiveResponses[keyof UpdateArchiveResponses];
26547
+ export type ListPhasesData = {
26548
+ body?: never;
26549
+ path: {
26550
+ job_id: string;
26551
+ job_scope_price_id: string;
26552
+ planned_feature_task_id: string;
26553
+ };
26554
+ query?: {
26555
+ 'filter[archived]'?: boolean;
26556
+ filter?: string;
26557
+ 'filter[unexpected]'?: string;
26558
+ /**
26559
+ * This pagination cursor corresponds to the cursor value found in the response in
26560
+ * `meta.page.next_cursor`.
26561
+ */
26562
+ 'page[cursor]'?: string;
26563
+ /**
26564
+ * 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`.
26565
+ */
26566
+ 'page[limit]'?: number;
26567
+ page?: string;
26568
+ };
26569
+ url: '/api/v1/jobs/{job_id}/production/job_scope_prices/{job_scope_price_id}/planned_feature_tasks/{planned_feature_task_id}/phases';
26570
+ };
26571
+ export type ListPhasesErrors = {
26572
+ /**
26573
+ * Bad Request
26574
+ */
26575
+ 400: Problem;
26576
+ /**
26577
+ * Forbidden
26578
+ */
26579
+ 403: Problem;
26580
+ /**
26581
+ * Unprocessable Content
26582
+ */
26583
+ 422: Problem;
26584
+ };
26585
+ export type ListPhasesError = ListPhasesErrors[keyof ListPhasesErrors];
26586
+ export type ListPhasesResponses = {
26587
+ /**
26588
+ * Success
26589
+ */
26590
+ 200: {
26591
+ meta: Meta;
26592
+ links: Links;
26593
+ data: Array<ProductionPhaseResponseObject>;
26594
+ };
26595
+ };
26596
+ export type ListPhasesResponse = ListPhasesResponses[keyof ListPhasesResponses];
26597
+ export type CreatePhaseData = {
26598
+ body: ProductionPhaseParameters;
26599
+ path: {
26600
+ job_id: string;
26601
+ job_scope_price_id: string;
26602
+ planned_feature_task_id: string;
26603
+ };
26604
+ query?: never;
26605
+ url: '/api/v1/jobs/{job_id}/production/job_scope_prices/{job_scope_price_id}/planned_feature_tasks/{planned_feature_task_id}/phases';
26606
+ };
26607
+ export type CreatePhaseErrors = {
26608
+ /**
26609
+ * Bad Request
26610
+ */
26611
+ 400: Problem;
26612
+ /**
26613
+ * Forbidden
26614
+ */
26615
+ 403: Problem;
26616
+ };
26617
+ export type CreatePhaseError = CreatePhaseErrors[keyof CreatePhaseErrors];
26618
+ export type CreatePhaseResponses = {
26619
+ /**
26620
+ * Created
26621
+ */
26622
+ 201: ProductionPhaseResponseObject;
26623
+ };
26624
+ export type CreatePhaseResponse = CreatePhaseResponses[keyof CreatePhaseResponses];
26625
+ export type GetPhaseData = {
26626
+ body?: never;
26627
+ path: {
26628
+ job_id: string;
26629
+ job_scope_price_id: string;
26630
+ planned_feature_task_id: string;
26631
+ id: string;
26632
+ };
26633
+ query?: never;
26634
+ url: '/api/v1/jobs/{job_id}/production/job_scope_prices/{job_scope_price_id}/planned_feature_tasks/{planned_feature_task_id}/phases/{id}';
26635
+ };
26636
+ export type GetPhaseErrors = {
26637
+ /**
26638
+ * Forbidden
26639
+ */
26640
+ 403: Problem;
26641
+ };
26642
+ export type GetPhaseError = GetPhaseErrors[keyof GetPhaseErrors];
26643
+ export type GetPhaseResponses = {
26644
+ /**
26645
+ * Success
26646
+ */
26647
+ 200: ProductionPhaseResponseObject;
26648
+ };
26649
+ export type GetPhaseResponse = GetPhaseResponses[keyof GetPhaseResponses];
26650
+ export type UpdatePhaseData = {
26651
+ body: ProductionPhaseUpdateParameters;
26652
+ path: {
26653
+ job_id: string;
26654
+ job_scope_price_id: string;
26655
+ planned_feature_task_id: string;
26656
+ id: string;
26657
+ };
26658
+ query?: never;
26659
+ url: '/api/v1/jobs/{job_id}/production/job_scope_prices/{job_scope_price_id}/planned_feature_tasks/{planned_feature_task_id}/phases/{id}';
26660
+ };
26661
+ export type UpdatePhaseErrors = {
26662
+ /**
26663
+ * Bad Request
26664
+ */
26665
+ 400: Problem;
26666
+ /**
26667
+ * Forbidden
26668
+ */
26669
+ 403: Problem;
26670
+ /**
26671
+ * Unprocessable Content
26672
+ */
26673
+ 422: Problem;
26674
+ };
26675
+ export type UpdatePhaseError = UpdatePhaseErrors[keyof UpdatePhaseErrors];
26676
+ export type UpdatePhaseResponses = {
26677
+ /**
26678
+ * Success
26679
+ */
26680
+ 200: ProductionPhaseResponseObject;
26681
+ };
26682
+ export type UpdatePhaseResponse = UpdatePhaseResponses[keyof UpdatePhaseResponses];
26683
+ export type SetPhaseArchiveData = {
26684
+ body: ProductionPhaseArchiveParameters;
26685
+ path: {
26686
+ job_id: string;
26687
+ job_scope_price_id: string;
26688
+ planned_feature_task_id: string;
26689
+ phase_id: string;
26690
+ };
26691
+ query?: never;
26692
+ url: '/api/v1/jobs/{job_id}/production/job_scope_prices/{job_scope_price_id}/planned_feature_tasks/{planned_feature_task_id}/phases/{phase_id}/archive';
26693
+ };
26694
+ export type SetPhaseArchiveErrors = {
26695
+ /**
26696
+ * Bad Request
26697
+ */
26698
+ 400: Problem;
26699
+ /**
26700
+ * Forbidden
26701
+ */
26702
+ 403: Problem;
26703
+ };
26704
+ export type SetPhaseArchiveError = SetPhaseArchiveErrors[keyof SetPhaseArchiveErrors];
26705
+ export type SetPhaseArchiveResponses = {
26706
+ /**
26707
+ * Success
26708
+ */
26709
+ 200: ProductionPhaseResponseObject;
26710
+ };
26711
+ export type SetPhaseArchiveResponse = SetPhaseArchiveResponses[keyof SetPhaseArchiveResponses];
26231
26712
  export type ListPlannedFeatureTasksData = {
26232
26713
  body?: never;
26233
26714
  path: {
@@ -37423,6 +37904,40 @@ export type GetJobTimeCardDayResponses = {
37423
37904
  200: JobTimeCardDayResponseObject;
37424
37905
  };
37425
37906
  export type GetJobTimeCardDayResponse = GetJobTimeCardDayResponses[keyof GetJobTimeCardDayResponses];
37907
+ export type UpdateJobTimeCardDayData = {
37908
+ body: JobTimeCardDayUpdateParameters;
37909
+ path: {
37910
+ id: string;
37911
+ };
37912
+ query?: never;
37913
+ url: '/api/v1/timekeeping/job_time_card_days/{id}';
37914
+ };
37915
+ export type UpdateJobTimeCardDayErrors = {
37916
+ /**
37917
+ * Bad Request
37918
+ */
37919
+ 400: Problem;
37920
+ /**
37921
+ * Forbidden
37922
+ */
37923
+ 403: Problem;
37924
+ /**
37925
+ * Not Found
37926
+ */
37927
+ 404: Problem;
37928
+ /**
37929
+ * Unprocessable Content
37930
+ */
37931
+ 422: Problem;
37932
+ };
37933
+ export type UpdateJobTimeCardDayError = UpdateJobTimeCardDayErrors[keyof UpdateJobTimeCardDayErrors];
37934
+ export type UpdateJobTimeCardDayResponses = {
37935
+ /**
37936
+ * Success
37937
+ */
37938
+ 200: JobTimeCardDayResponseObject;
37939
+ };
37940
+ export type UpdateJobTimeCardDayResponse = UpdateJobTimeCardDayResponses[keyof UpdateJobTimeCardDayResponses];
37426
37941
  export type CreateManagerTimeEntryApprovalData = {
37427
37942
  body: ManagerTimeEntryApprovalParameters;
37428
37943
  path: {