@dsptch-work/api-client 0.12.0 → 0.14.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.
@@ -2239,6 +2239,32 @@ export class ComplianceChecks {
2239
2239
  });
2240
2240
  }
2241
2241
  }
2242
+ export class ComplianceRequirements {
2243
+ /**
2244
+ * List Compliance Requirements
2245
+ *
2246
+ * List the compliance requirement catalog: everything a company can be checked against, and
2247
+ * what each requirement asks for. Requirements ship with the application, so the catalog reads
2248
+ * the same for every company.
2249
+ *
2250
+ * To find one requirement by name, use `filter[search]`, which matches the title. Address a
2251
+ * requirement you already know by its `type` rather than its `id` — `type` is the same value in
2252
+ * every environment.
2253
+ *
2254
+ *
2255
+ * **Required scope:**
2256
+ *
2257
+ * `compliance.requirements:read`
2258
+ *
2259
+ */
2260
+ static listRequirements(options) {
2261
+ return (options?.client ?? client).get({
2262
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
2263
+ url: '/api/v1/compliance/requirements',
2264
+ ...options
2265
+ });
2266
+ }
2267
+ }
2242
2268
  export class CustomFieldConfigurations {
2243
2269
  /**
2244
2270
  * List custom field configurations
@@ -2720,6 +2746,27 @@ export class PwaTrades {
2720
2746
  ...options
2721
2747
  });
2722
2748
  }
2749
+ /**
2750
+ * Delete Trade
2751
+ *
2752
+ * Deletes an empty craft. A trade still grouping wage determinations, or still
2753
+ * carrying apprentice-scope decisions, is refused with a `422` — deleting it would
2754
+ * orphan what points at it. Merge it into another craft instead, which moves the
2755
+ * determinations first.
2756
+ *
2757
+ *
2758
+ * **Required scope:**
2759
+ *
2760
+ * `pwa.trades:delete`
2761
+ *
2762
+ */
2763
+ static deleteTrade(options) {
2764
+ return (options.client ?? client).delete({
2765
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
2766
+ url: '/api/v1/pwa/trades/{id}',
2767
+ ...options
2768
+ });
2769
+ }
2723
2770
  /**
2724
2771
  * Show trade
2725
2772
  *
@@ -2735,6 +2782,33 @@ export class PwaTrades {
2735
2782
  ...options
2736
2783
  });
2737
2784
  }
2785
+ /**
2786
+ * Rename Trade
2787
+ *
2788
+ * Renames the craft. The name is a display label the compliance engines ignore —
2789
+ * they group by trade — so a rename regroups nothing and re-prices nothing. The
2790
+ * craft's match key is fixed at creation and is not renamed with it.
2791
+ *
2792
+ * To move determinations between crafts, re-point each one's `pwa_trade_id`
2793
+ * rather than renaming the craft they share.
2794
+ *
2795
+ *
2796
+ * **Required scope:**
2797
+ *
2798
+ * `pwa.trades:update`
2799
+ *
2800
+ */
2801
+ static updateTrade(options) {
2802
+ return (options.client ?? client).patch({
2803
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
2804
+ url: '/api/v1/pwa/trades/{id}',
2805
+ ...options,
2806
+ headers: {
2807
+ 'Content-Type': 'application/json',
2808
+ ...options.headers
2809
+ }
2810
+ });
2811
+ }
2738
2812
  }
2739
2813
  export class JobWageDeterminationRateRules {
2740
2814
  /**
@@ -3052,6 +3126,11 @@ export class JobWageDeterminations {
3052
3126
  * This rewrites what the determination said, not when it existed — moving
3053
3127
  * either end of the timeline is `genesis` or `scheduled_termination`.
3054
3128
  *
3129
+ * `pwa_trade_id` is the exception: a trade regroups the whole determination
3130
+ * at once, so it moves every version rather than applying from
3131
+ * `effective_from`. A determination synced from a project follows its
3132
+ * project wage determination's trade and cannot be re-pointed here.
3133
+ *
3055
3134
  * Conditional: send the determination's `ETag` as `If-Match`.
3056
3135
  *
3057
3136
  *
@@ -3210,6 +3289,30 @@ export class Jobs {
3210
3289
  });
3211
3290
  }
3212
3291
  }
3292
+ export class OpenApi {
3293
+ /**
3294
+ * Show OpenAPI spec
3295
+ *
3296
+ * **No scope required:**
3297
+ *
3298
+ * Every authenticated API key may call this endpoint. It returns the machine-readable OpenAPI
3299
+ * document that describes this API.
3300
+ *
3301
+ * **Stability:**
3302
+ *
3303
+ * The document is static between contract changes: it changes only when the API surface
3304
+ * does — an endpoint, field, or schema added or altered — on no fixed schedule. Fetch it
3305
+ * when your integration starts, or when you regenerate a client, rather than on a poll.
3306
+ *
3307
+ */
3308
+ static getOpenapiDocument(options) {
3309
+ return (options?.client ?? client).get({
3310
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
3311
+ url: '/api/v1/openapi',
3312
+ ...options
3313
+ });
3314
+ }
3315
+ }
3213
3316
  export class OversiteSiteCheckIns {
3214
3317
  /**
3215
3318
  * List Site Check-ins
@@ -3254,6 +3357,319 @@ export class OversiteSiteCheckIns {
3254
3357
  });
3255
3358
  }
3256
3359
  }
3360
+ export class OvertimeRules {
3361
+ /**
3362
+ * Shift overtime rule genesis
3363
+ *
3364
+ * Move when a rule's timeline begins. Shifting it earlier extends the first
3365
+ * version back; shifting it later drops the coverage before it, and what that
3366
+ * removes stops being readable through `as_of[valid]` and `/history`.
3367
+ *
3368
+ * This changes *when* the rule existed rather than what it said — no version's
3369
+ * values are rewritten. Moving the other end of the timeline is
3370
+ * `scheduled_termination`, and changing a version's values is the rule update.
3371
+ *
3372
+ * A shift to or past a scheduled termination is refused with `422`, since it
3373
+ * would leave no coverage at all.
3374
+ *
3375
+ * Conditional: send the rule's `ETag` as `If-Match`.
3376
+ *
3377
+ *
3378
+ * **Required scope:**
3379
+ *
3380
+ * `overtime_packages.overtime_rules.genesis:update`
3381
+ *
3382
+ */
3383
+ static shiftOvertimeRuleGenesis(options) {
3384
+ return (options.client ?? client).patch({
3385
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
3386
+ url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules/{overtime_rule_id}/genesis',
3387
+ ...options,
3388
+ headers: {
3389
+ 'Content-Type': 'application/json',
3390
+ ...options.headers
3391
+ }
3392
+ });
3393
+ }
3394
+ /**
3395
+ * List overtime rule version history
3396
+ *
3397
+ * A rule's whole valid-time sequence, newest window first and cursor-paginated.
3398
+ * Each entry is a full overtime rule carrying its own `valid_from` / `valid_to`
3399
+ * window and a `version_status` of `scheduled`, `current` or `historical`. An
3400
+ * entry carries the family key as `overtime_rule_id` and no `id` of its own —
3401
+ * every version shares the family key, so versions are told apart by their window
3402
+ * coordinates.
3403
+ *
3404
+ * Each version's `corrections` — prior transaction-time recordings of that same
3405
+ * window — is always empty here: this resource has no transaction axis, so a
3406
+ * retroactive edit rewrites a version in place instead of layering a superseded
3407
+ * recording under it. The field is still returned so the timeline answers one
3408
+ * shape across every temporal resource. `as_of[valid]` is rejected, since pinning
3409
+ * a point on the valid axis would collapse the sequence this endpoint returns, and
3410
+ * with no transaction axis there is no `as_of[transaction]` to read against.
3411
+ *
3412
+ *
3413
+ * **Required scope:**
3414
+ *
3415
+ * `overtime_packages.overtime_rules.history:read`
3416
+ *
3417
+ */
3418
+ static listOvertimeRuleHistory(options) {
3419
+ return (options.client ?? client).get({
3420
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
3421
+ url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules/{overtime_rule_id}/history',
3422
+ ...options
3423
+ });
3424
+ }
3425
+ /**
3426
+ * Cancel scheduled changes to an overtime rule
3427
+ *
3428
+ * **Required scope:**
3429
+ *
3430
+ * `overtime_packages.overtime_rules.scheduled_changes:delete`
3431
+ *
3432
+ */
3433
+ static cancelOvertimeRuleScheduledChanges(options) {
3434
+ return (options.client ?? client).delete({
3435
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
3436
+ url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules/{overtime_rule_id}/scheduled_changes',
3437
+ ...options
3438
+ });
3439
+ }
3440
+ /**
3441
+ * List scheduled changes for an overtime rule
3442
+ *
3443
+ * **Required scope:**
3444
+ *
3445
+ * `overtime_packages.overtime_rules.scheduled_changes:read`
3446
+ *
3447
+ */
3448
+ static listOvertimeRuleScheduledChanges(options) {
3449
+ return (options.client ?? client).get({
3450
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
3451
+ url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules/{overtime_rule_id}/scheduled_changes',
3452
+ ...options
3453
+ });
3454
+ }
3455
+ /**
3456
+ * Schedule a change to an overtime rule
3457
+ *
3458
+ * **Required scope:**
3459
+ *
3460
+ * `overtime_packages.overtime_rules.scheduled_changes:create`
3461
+ *
3462
+ */
3463
+ static scheduleOvertimeRuleChange(options) {
3464
+ return (options.client ?? client).post({
3465
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
3466
+ url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules/{overtime_rule_id}/scheduled_changes',
3467
+ ...options,
3468
+ headers: {
3469
+ 'Content-Type': 'application/json',
3470
+ ...options.headers
3471
+ }
3472
+ });
3473
+ }
3474
+ /**
3475
+ * Cancel a scheduled termination for an overtime rule
3476
+ *
3477
+ * **Required scope:**
3478
+ *
3479
+ * `overtime_packages.overtime_rules.scheduled_terminations:delete`
3480
+ *
3481
+ */
3482
+ static cancelOvertimeRuleScheduledTermination(options) {
3483
+ return (options.client ?? client).delete({
3484
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
3485
+ url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules/{overtime_rule_id}/scheduled_termination',
3486
+ ...options
3487
+ });
3488
+ }
3489
+ /**
3490
+ * Schedule a termination for an overtime rule
3491
+ *
3492
+ * Close the rule's timeline at `effective_date`: it stays readable up to that date
3493
+ * and stops applying from it. Removing the rule from every window it ever covered
3494
+ * is the rule delete instead.
3495
+ *
3496
+ * A termination at or before the rule's genesis is refused with `422`, since it
3497
+ * would leave no coverage at all.
3498
+ *
3499
+ * Conditional: send the rule's `ETag` as `If-Match`.
3500
+ *
3501
+ *
3502
+ * **Required scope:**
3503
+ *
3504
+ * `overtime_packages.overtime_rules.scheduled_terminations:create`
3505
+ *
3506
+ */
3507
+ static scheduleOvertimeRuleTermination(options) {
3508
+ return (options.client ?? client).post({
3509
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
3510
+ url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules/{overtime_rule_id}/scheduled_termination',
3511
+ ...options,
3512
+ headers: {
3513
+ 'Content-Type': 'application/json',
3514
+ ...options.headers
3515
+ }
3516
+ });
3517
+ }
3518
+ /**
3519
+ * List overtime rules
3520
+ *
3521
+ * **Required scope:**
3522
+ *
3523
+ * `overtime_packages.overtime_rules:read`
3524
+ *
3525
+ */
3526
+ static listOvertimeRules(options) {
3527
+ return (options.client ?? client).get({
3528
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
3529
+ url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules',
3530
+ ...options
3531
+ });
3532
+ }
3533
+ /**
3534
+ * Create overtime rule
3535
+ *
3536
+ * **Required scope:**
3537
+ *
3538
+ * `overtime_packages.overtime_rules:create`
3539
+ *
3540
+ */
3541
+ static createOvertimeRule(options) {
3542
+ return (options.client ?? client).post({
3543
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
3544
+ url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules',
3545
+ ...options,
3546
+ headers: {
3547
+ 'Content-Type': 'application/json',
3548
+ ...options.headers
3549
+ }
3550
+ });
3551
+ }
3552
+ /**
3553
+ * Delete overtime rule
3554
+ *
3555
+ * Remove the rule outright: every version of the family goes, and nothing is
3556
+ * readable through `as_of[valid]` or `/history` afterwards. Closing a rule
3557
+ * going forward while keeping its past is `scheduled_termination` instead.
3558
+ *
3559
+ * Conditional: send the rule's `ETag` as `If-Match`.
3560
+ *
3561
+ *
3562
+ * **Required scope:**
3563
+ *
3564
+ * `overtime_packages.overtime_rules:delete`
3565
+ *
3566
+ */
3567
+ static deleteOvertimeRule(options) {
3568
+ return (options.client ?? client).delete({
3569
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
3570
+ url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules/{id}',
3571
+ ...options
3572
+ });
3573
+ }
3574
+ /**
3575
+ * Show overtime rule
3576
+ *
3577
+ * **Required scope:**
3578
+ *
3579
+ * `overtime_packages.overtime_rules:read`
3580
+ *
3581
+ */
3582
+ static getOvertimeRule(options) {
3583
+ return (options.client ?? client).get({
3584
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
3585
+ url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules/{id}',
3586
+ ...options
3587
+ });
3588
+ }
3589
+ /**
3590
+ * Update overtime rule
3591
+ *
3592
+ * Edit a rule's values from `effective_from` forward: every version starting at
3593
+ * or after that date takes the new values, and earlier versions are untouched.
3594
+ * Where an edit starts inside a version and changes its values, a boundary is
3595
+ * created at `effective_from` so the change applies only from there. Omitted,
3596
+ * the edit starts where the version in effect now starts, correcting it in
3597
+ * place; a future date schedules the change ahead of that version.
3598
+ *
3599
+ * This rewrites what the rule said, not when it existed — moving either end of
3600
+ * the timeline is `genesis` or `scheduled_termination`.
3601
+ *
3602
+ * Conditional: send the rule's `ETag` as `If-Match`.
3603
+ *
3604
+ *
3605
+ * **Required scope:**
3606
+ *
3607
+ * `overtime_packages.overtime_rules:update`
3608
+ *
3609
+ */
3610
+ static updateOvertimeRule(options) {
3611
+ return (options.client ?? client).patch({
3612
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
3613
+ url: '/api/v1/overtime_packages/{overtime_package_id}/overtime_rules/{id}',
3614
+ ...options,
3615
+ headers: {
3616
+ 'Content-Type': 'application/json',
3617
+ ...options.headers
3618
+ }
3619
+ });
3620
+ }
3621
+ }
3622
+ export class TimeEntryImports {
3623
+ /**
3624
+ * List Time Entry Imports
3625
+ *
3626
+ * **Required scope:**
3627
+ *
3628
+ * `pay_periods.imports.time_entries:read`
3629
+ *
3630
+ */
3631
+ static listTimeEntryImports(options) {
3632
+ return (options.client ?? client).get({
3633
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
3634
+ url: '/api/v1/pay_periods/{pay_period_id}/imports/time_entries',
3635
+ ...options
3636
+ });
3637
+ }
3638
+ /**
3639
+ * Create Time Entry Import
3640
+ *
3641
+ * **Required scope:**
3642
+ *
3643
+ * `pay_periods.imports.time_entries:create`
3644
+ *
3645
+ */
3646
+ static createTimeEntryImport(options) {
3647
+ return (options.client ?? client).post({
3648
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
3649
+ url: '/api/v1/pay_periods/{pay_period_id}/imports/time_entries',
3650
+ ...options,
3651
+ headers: {
3652
+ 'Content-Type': 'application/json',
3653
+ ...options.headers
3654
+ }
3655
+ });
3656
+ }
3657
+ /**
3658
+ * Get Time Entry Import
3659
+ *
3660
+ * **Required scope:**
3661
+ *
3662
+ * `pay_periods.imports.time_entries:read`
3663
+ *
3664
+ */
3665
+ static getTimeEntryImport(options) {
3666
+ return (options.client ?? client).get({
3667
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
3668
+ url: '/api/v1/pay_periods/{pay_period_id}/imports/time_entries/{id}',
3669
+ ...options
3670
+ });
3671
+ }
3672
+ }
3257
3673
  export class PayPeriods {
3258
3674
  /**
3259
3675
  * List pay periods
@@ -4064,7 +4480,7 @@ export class Projects {
4064
4480
  * returns 422. Switching `federal_pwa_mode` to `none` forces `asset_owner` false
4065
4481
  * and drops the federal-PWA-only params (previously persisted values are left
4066
4482
  * untouched); `budget_currency` defaults to USD when blank. A project owned by
4067
- * another company returns 403; an unknown id returns 404.
4483
+ * another company, or an unknown id, returns 404.
4068
4484
  *
4069
4485
  *
4070
4486
  * **Required scope:**
@@ -4347,6 +4763,99 @@ export class Users {
4347
4763
  });
4348
4764
  }
4349
4765
  }
4766
+ export class PwaTradeApprenticeScope {
4767
+ /**
4768
+ * List apprentice scope decisions
4769
+ *
4770
+ * The reviewed (occupation, craft) pairs on this trade. A pair with no row here is
4771
+ * undecided, which denies apprentice treatment just as `out_of_scope` does — the two
4772
+ * differ only in whether the pair still prompts a curator for review.
4773
+ *
4774
+ *
4775
+ * **Required scope:**
4776
+ *
4777
+ * `pwa.trades.apprenticeship_occupations:read`
4778
+ *
4779
+ */
4780
+ static listApprenticeshipOccupations(options) {
4781
+ return (options.client ?? client).get({
4782
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
4783
+ url: '/api/v1/pwa/trades/{trade_id}/apprenticeship_occupations',
4784
+ ...options
4785
+ });
4786
+ }
4787
+ /**
4788
+ * Record an apprentice scope decision
4789
+ *
4790
+ * Records a reviewed verdict for an (occupation, craft) pair. Writes are the
4791
+ * occupation's employer companies' to make — a credential may read the decisions on any
4792
+ * trade it can see, but may only write those whose occupation belongs to a program it
4793
+ * is enrolled in as an employer.
4794
+ *
4795
+ * The decision re-prices every hour the occupation's apprentices charged to this craft,
4796
+ * so it takes effect on recorded work, not only on work going forward.
4797
+ *
4798
+ *
4799
+ * **Required scope:**
4800
+ *
4801
+ * `pwa.trades.apprenticeship_occupations:create`
4802
+ *
4803
+ */
4804
+ static createApprenticeshipOccupation(options) {
4805
+ return (options.client ?? client).post({
4806
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
4807
+ url: '/api/v1/pwa/trades/{trade_id}/apprenticeship_occupations',
4808
+ ...options,
4809
+ headers: {
4810
+ 'Content-Type': 'application/json',
4811
+ ...options.headers
4812
+ }
4813
+ });
4814
+ }
4815
+ /**
4816
+ * Remove an apprentice scope decision
4817
+ *
4818
+ * Returns the pair to undecided, which re-opens it for review. Apprentice treatment is
4819
+ * denied either way, so this is a request to decide again rather than a way to grant it.
4820
+ *
4821
+ *
4822
+ * **Required scope:**
4823
+ *
4824
+ * `pwa.trades.apprenticeship_occupations:delete`
4825
+ *
4826
+ */
4827
+ static deleteApprenticeshipOccupation(options) {
4828
+ return (options.client ?? client).delete({
4829
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
4830
+ url: '/api/v1/pwa/trades/{trade_id}/apprenticeship_occupations/{id}',
4831
+ ...options
4832
+ });
4833
+ }
4834
+ /**
4835
+ * Flip an apprentice scope decision
4836
+ *
4837
+ * Changes the verdict on a reviewed pair. The occupation is create-only — a decision is
4838
+ * replaced rather than re-pointed, so re-pointing one would move the verdict to a
4839
+ * different pair with no recompute for either.
4840
+ *
4841
+ *
4842
+ * **Required scope:**
4843
+ *
4844
+ * `pwa.trades.apprenticeship_occupations:update`
4845
+ *
4846
+ */
4847
+ static updateApprenticeshipOccupation(options) {
4848
+ return (options.client ?? client).patch({
4849
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
4850
+ url: '/api/v1/pwa/trades/{trade_id}/apprenticeship_occupations/{id}',
4851
+ ...options,
4852
+ headers: {
4853
+ 'Content-Type': 'application/json',
4854
+ ...options.headers
4855
+ }
4856
+ });
4857
+ }
4858
+ }
4350
4859
  export class Tasks {
4351
4860
  /**
4352
4861
  * Create form assignment task
@@ -4368,6 +4877,23 @@ export class Tasks {
4368
4877
  });
4369
4878
  }
4370
4879
  }
4880
+ export class AdjustableLineItems {
4881
+ /**
4882
+ * List adjustable line items
4883
+ *
4884
+ * **Required scope:**
4885
+ *
4886
+ * `time_cards.adjustable_line_items:read`
4887
+ *
4888
+ */
4889
+ static listAdjustableLineItems(options) {
4890
+ return (options.client ?? client).get({
4891
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
4892
+ url: '/api/v1/time_cards/{time_card_id}/adjustable_line_items',
4893
+ ...options
4894
+ });
4895
+ }
4896
+ }
4371
4897
  export class TimeCards {
4372
4898
  /**
4373
4899
  * Lock or unlock time card
@@ -4541,6 +5067,46 @@ export class PriorPeriodAdjustments {
4541
5067
  ...options
4542
5068
  });
4543
5069
  }
5070
+ /**
5071
+ * Create Prior Period Adjustment
5072
+ *
5073
+ * **Required scope:**
5074
+ *
5075
+ * `time_cards.prior_period_adjustments:create`
5076
+ *
5077
+ */
5078
+ static createPriorPeriodAdjustment(options) {
5079
+ return (options.client ?? client).post({
5080
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
5081
+ url: '/api/v1/time_cards/{time_card_id}/prior_period_adjustments',
5082
+ ...options,
5083
+ headers: {
5084
+ 'Content-Type': 'application/json',
5085
+ ...options.headers
5086
+ }
5087
+ });
5088
+ }
5089
+ /**
5090
+ * Delete prior period adjustment
5091
+ *
5092
+ * Permanently remove an adjustment, for undoing one recorded in error. The removed
5093
+ * adjustment is returned. Its allocation is freed back to the funding line item and
5094
+ * the time card's actuals rebuild, so the job's balance due rises by this amount.
5095
+ * Adjustments cannot be edited — delete and re-create to change one.
5096
+ *
5097
+ *
5098
+ * **Required scope:**
5099
+ *
5100
+ * `time_cards.prior_period_adjustments:delete`
5101
+ *
5102
+ */
5103
+ static deletePriorPeriodAdjustment(options) {
5104
+ return (options.client ?? client).delete({
5105
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
5106
+ url: '/api/v1/time_cards/{time_card_id}/prior_period_adjustments/{id}',
5107
+ ...options
5108
+ });
5109
+ }
4544
5110
  /**
4545
5111
  * Show prior period adjustment
4546
5112
  *
@@ -4557,6 +5123,23 @@ export class PriorPeriodAdjustments {
4557
5123
  });
4558
5124
  }
4559
5125
  }
5126
+ export class TimeCardPwaCompliance {
5127
+ /**
5128
+ * List time card PWA compliance
5129
+ *
5130
+ * **Required scope:**
5131
+ *
5132
+ * `time_cards.pwa_compliances:read`
5133
+ *
5134
+ */
5135
+ static listPwaCompliances(options) {
5136
+ return (options.client ?? client).get({
5137
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
5138
+ url: '/api/v1/time_cards/{time_card_id}/pwa_compliances',
5139
+ ...options
5140
+ });
5141
+ }
5142
+ }
4560
5143
  export class TimeEntries {
4561
5144
  /**
4562
5145
  * List time entry versions