@dsptch-work/api-client 0.20.0 → 0.21.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.
- package/CHANGELOG.md +51 -0
- package/dist/gen/index.d.ts +2 -2
- package/dist/gen/index.js +1 -1
- package/dist/gen/sdk.gen.d.ts +257 -16
- package/dist/gen/sdk.gen.js +370 -15
- package/dist/gen/types.gen.d.ts +987 -52
- package/dist/gen/zod.gen.d.ts +2285 -977
- package/dist/gen/zod.gen.js +325 -16
- package/package.json +1 -1
package/dist/gen/sdk.gen.js
CHANGED
|
@@ -3704,6 +3704,344 @@ export class OvertimeRules {
|
|
|
3704
3704
|
});
|
|
3705
3705
|
}
|
|
3706
3706
|
}
|
|
3707
|
+
export class PayRateRules {
|
|
3708
|
+
/**
|
|
3709
|
+
* Shift pay rate rule genesis
|
|
3710
|
+
*
|
|
3711
|
+
* Move where the rule family's valid-time timeline begins. Moving genesis earlier
|
|
3712
|
+
* extends the first version; moving it later removes coverage before the new date.
|
|
3713
|
+
* A shift to or past a standing termination is refused because it would leave no
|
|
3714
|
+
* coverage.
|
|
3715
|
+
*
|
|
3716
|
+
* The response echoes the family's new first version and carries the new family
|
|
3717
|
+
* `ETag`; use history to inspect the whole resulting timeline.
|
|
3718
|
+
*
|
|
3719
|
+
* Conditional: send the rule's `ETag` as `If-Match`.
|
|
3720
|
+
*
|
|
3721
|
+
*
|
|
3722
|
+
* **Required scope:**
|
|
3723
|
+
*
|
|
3724
|
+
* `pay.rates.rule_packages.rules.genesis:update`
|
|
3725
|
+
*
|
|
3726
|
+
*/
|
|
3727
|
+
static shiftPayRateRuleGenesis(options) {
|
|
3728
|
+
return (options.client ?? client).patch({
|
|
3729
|
+
security: [{ name: 'X-Api-Key', type: 'apiKey' }],
|
|
3730
|
+
url: '/api/v1/pay/rates/rule_packages/{rule_package_id}/rules/{rule_id}/genesis',
|
|
3731
|
+
...options,
|
|
3732
|
+
headers: {
|
|
3733
|
+
'Content-Type': 'application/json',
|
|
3734
|
+
...options.headers
|
|
3735
|
+
}
|
|
3736
|
+
});
|
|
3737
|
+
}
|
|
3738
|
+
/**
|
|
3739
|
+
* List pay rate rule version history
|
|
3740
|
+
*
|
|
3741
|
+
* List one rule's complete valid-time sequence, newest window first. Entries
|
|
3742
|
+
* carry the shared family identity as `pay_rates_rule_id`; their temporal
|
|
3743
|
+
* coordinates distinguish versions. Corrections are empty because this rule
|
|
3744
|
+
* engine has no transaction-time audit layer. Both `as_of[valid]` and
|
|
3745
|
+
* `as_of[transaction]` are rejected because this endpoint returns the complete
|
|
3746
|
+
* valid-time timeline and the resource has no transaction-time axis.
|
|
3747
|
+
*
|
|
3748
|
+
*
|
|
3749
|
+
* **Required scope:**
|
|
3750
|
+
*
|
|
3751
|
+
* `pay.rates.rule_packages.rules.history:read`
|
|
3752
|
+
*
|
|
3753
|
+
*/
|
|
3754
|
+
static listPayRateRuleHistory(options) {
|
|
3755
|
+
return (options.client ?? client).get({
|
|
3756
|
+
security: [{ name: 'X-Api-Key', type: 'apiKey' }],
|
|
3757
|
+
url: '/api/v1/pay/rates/rule_packages/{rule_package_id}/rules/{rule_id}/history',
|
|
3758
|
+
...options
|
|
3759
|
+
});
|
|
3760
|
+
}
|
|
3761
|
+
/**
|
|
3762
|
+
* Cancel scheduled pay rate rule changes
|
|
3763
|
+
*
|
|
3764
|
+
* Cancel every version after the baseline selected now, preserving that baseline.
|
|
3765
|
+
* The preserved baseline extends through any gap before the first canceled version.
|
|
3766
|
+
* For a wholly future family, the first future version is the baseline.
|
|
3767
|
+
*
|
|
3768
|
+
* Conditional: send the rule's ETag as If-Match.
|
|
3769
|
+
*
|
|
3770
|
+
*
|
|
3771
|
+
* **Required scope:**
|
|
3772
|
+
*
|
|
3773
|
+
* `pay.rates.rule_packages.rules.scheduled_changes:delete`
|
|
3774
|
+
*
|
|
3775
|
+
*/
|
|
3776
|
+
static cancelPayRateRuleScheduledChanges(options) {
|
|
3777
|
+
return (options.client ?? client).delete({
|
|
3778
|
+
security: [{ name: 'X-Api-Key', type: 'apiKey' }],
|
|
3779
|
+
url: '/api/v1/pay/rates/rule_packages/{rule_package_id}/rules/{rule_id}/scheduled_changes',
|
|
3780
|
+
...options
|
|
3781
|
+
});
|
|
3782
|
+
}
|
|
3783
|
+
/**
|
|
3784
|
+
* List scheduled pay rate rule changes
|
|
3785
|
+
*
|
|
3786
|
+
* List every version after the baseline selected now, oldest boundary first. This
|
|
3787
|
+
* paginated timeline slice is the exact set a cancellation removes. Entries carry
|
|
3788
|
+
* pay_rates_rule_id, never an entry-level id; a wholly future family's first
|
|
3789
|
+
* version is its preserved baseline.
|
|
3790
|
+
*
|
|
3791
|
+
*
|
|
3792
|
+
* **Required scope:**
|
|
3793
|
+
*
|
|
3794
|
+
* `pay.rates.rule_packages.rules.scheduled_changes:read`
|
|
3795
|
+
*
|
|
3796
|
+
*/
|
|
3797
|
+
static listPayRateRuleScheduledChanges(options) {
|
|
3798
|
+
return (options.client ?? client).get({
|
|
3799
|
+
security: [{ name: 'X-Api-Key', type: 'apiKey' }],
|
|
3800
|
+
url: '/api/v1/pay/rates/rule_packages/{rule_package_id}/rules/{rule_id}/scheduled_changes',
|
|
3801
|
+
...options
|
|
3802
|
+
});
|
|
3803
|
+
}
|
|
3804
|
+
/**
|
|
3805
|
+
* Schedule a pay rate rule change
|
|
3806
|
+
*
|
|
3807
|
+
* Apply a rule recipe from a date forward. Omitted recipe halves carry from the
|
|
3808
|
+
* version affected at that date. Returns 201 only when a new segment is added.
|
|
3809
|
+
* A no-op against the targeted segment leaves later scheduled segments unchanged.
|
|
3810
|
+
*
|
|
3811
|
+
* Conditional: send the rule's ETag as If-Match.
|
|
3812
|
+
*
|
|
3813
|
+
*
|
|
3814
|
+
* **Required scope:**
|
|
3815
|
+
*
|
|
3816
|
+
* `pay.rates.rule_packages.rules.scheduled_changes:create`
|
|
3817
|
+
*
|
|
3818
|
+
*/
|
|
3819
|
+
static schedulePayRateRuleChange(options) {
|
|
3820
|
+
return (options.client ?? client).post({
|
|
3821
|
+
security: [{ name: 'X-Api-Key', type: 'apiKey' }],
|
|
3822
|
+
url: '/api/v1/pay/rates/rule_packages/{rule_package_id}/rules/{rule_id}/scheduled_changes',
|
|
3823
|
+
...options,
|
|
3824
|
+
headers: {
|
|
3825
|
+
'Content-Type': 'application/json',
|
|
3826
|
+
...options.headers
|
|
3827
|
+
}
|
|
3828
|
+
});
|
|
3829
|
+
}
|
|
3830
|
+
/**
|
|
3831
|
+
* Cancel pay rate rule scheduled termination
|
|
3832
|
+
*
|
|
3833
|
+
* Remove the family's standing finite end and restore an open-ended upper bound.
|
|
3834
|
+
* The response echoes the current or otherwise most-relevant version and carries the
|
|
3835
|
+
* new family `ETag`; use history to inspect the whole reopened timeline. Cancellation
|
|
3836
|
+
* reopens the last surviving version with its existing recipe and does not restore
|
|
3837
|
+
* versions removed when the termination was scheduled.
|
|
3838
|
+
*
|
|
3839
|
+
* Conditional: send the rule's `ETag` as `If-Match`.
|
|
3840
|
+
*
|
|
3841
|
+
*
|
|
3842
|
+
* **Required scope:**
|
|
3843
|
+
*
|
|
3844
|
+
* `pay.rates.rule_packages.rules.scheduled_terminations:delete`
|
|
3845
|
+
*
|
|
3846
|
+
*/
|
|
3847
|
+
static cancelPayRateRuleScheduledTermination(options) {
|
|
3848
|
+
return (options.client ?? client).delete({
|
|
3849
|
+
security: [{ name: 'X-Api-Key', type: 'apiKey' }],
|
|
3850
|
+
url: '/api/v1/pay/rates/rule_packages/{rule_package_id}/rules/{rule_id}/scheduled_termination',
|
|
3851
|
+
...options
|
|
3852
|
+
});
|
|
3853
|
+
}
|
|
3854
|
+
/**
|
|
3855
|
+
* Schedule pay rate rule termination
|
|
3856
|
+
*
|
|
3857
|
+
* Close the rule family's valid-time timeline at `effective_date`. The rule remains
|
|
3858
|
+
* readable before that date and stops applying from it. Past, current, and future
|
|
3859
|
+
* dates are accepted when they fall after genesis. A family can have one standing
|
|
3860
|
+
* termination; cancel it before scheduling another. Scheduling removes versions
|
|
3861
|
+
* that start after the new end and truncates the version spanning it.
|
|
3862
|
+
*
|
|
3863
|
+
* The response echoes the family's current or otherwise most-relevant version and
|
|
3864
|
+
* carries the new family `ETag`; use history to inspect the whole resulting timeline.
|
|
3865
|
+
*
|
|
3866
|
+
* Conditional: send the rule's `ETag` as `If-Match`.
|
|
3867
|
+
*
|
|
3868
|
+
*
|
|
3869
|
+
* **Required scope:**
|
|
3870
|
+
*
|
|
3871
|
+
* `pay.rates.rule_packages.rules.scheduled_terminations:create`
|
|
3872
|
+
*
|
|
3873
|
+
*/
|
|
3874
|
+
static schedulePayRateRuleTermination(options) {
|
|
3875
|
+
return (options.client ?? client).post({
|
|
3876
|
+
security: [{ name: 'X-Api-Key', type: 'apiKey' }],
|
|
3877
|
+
url: '/api/v1/pay/rates/rule_packages/{rule_package_id}/rules/{rule_id}/scheduled_termination',
|
|
3878
|
+
...options,
|
|
3879
|
+
headers: {
|
|
3880
|
+
'Content-Type': 'application/json',
|
|
3881
|
+
...options.headers
|
|
3882
|
+
}
|
|
3883
|
+
});
|
|
3884
|
+
}
|
|
3885
|
+
/**
|
|
3886
|
+
* List pay rate rules
|
|
3887
|
+
*
|
|
3888
|
+
* List the versions of this package's rules valid at one point in time. Each
|
|
3889
|
+
* `id` is stable across that rule's valid-time versions.
|
|
3890
|
+
*
|
|
3891
|
+
*
|
|
3892
|
+
* **Required scope:**
|
|
3893
|
+
*
|
|
3894
|
+
* `pay.rates.rule_packages.rules:read`
|
|
3895
|
+
*
|
|
3896
|
+
*/
|
|
3897
|
+
static listPayRateRules(options) {
|
|
3898
|
+
return (options.client ?? client).get({
|
|
3899
|
+
security: [{ name: 'X-Api-Key', type: 'apiKey' }],
|
|
3900
|
+
url: '/api/v1/pay/rates/rule_packages/{rule_package_id}/rules',
|
|
3901
|
+
...options
|
|
3902
|
+
});
|
|
3903
|
+
}
|
|
3904
|
+
/**
|
|
3905
|
+
* Create a pay rate rule
|
|
3906
|
+
*
|
|
3907
|
+
* **Required scope:**
|
|
3908
|
+
*
|
|
3909
|
+
* `pay.rates.rule_packages.rules:create`
|
|
3910
|
+
*
|
|
3911
|
+
*/
|
|
3912
|
+
static createPayRateRule(options) {
|
|
3913
|
+
return (options.client ?? client).post({
|
|
3914
|
+
security: [{ name: 'X-Api-Key', type: 'apiKey' }],
|
|
3915
|
+
url: '/api/v1/pay/rates/rule_packages/{rule_package_id}/rules',
|
|
3916
|
+
...options,
|
|
3917
|
+
headers: {
|
|
3918
|
+
'Content-Type': 'application/json',
|
|
3919
|
+
...options.headers
|
|
3920
|
+
}
|
|
3921
|
+
});
|
|
3922
|
+
}
|
|
3923
|
+
/**
|
|
3924
|
+
* Delete a pay rate rule
|
|
3925
|
+
*
|
|
3926
|
+
* Remove every valid-time version of the rule family.
|
|
3927
|
+
*
|
|
3928
|
+
* To preserve history while stopping future applicability, schedule a termination instead.
|
|
3929
|
+
*
|
|
3930
|
+
* Conditional: send the rule's `ETag` as `If-Match`.
|
|
3931
|
+
*
|
|
3932
|
+
*
|
|
3933
|
+
* **Required scope:**
|
|
3934
|
+
*
|
|
3935
|
+
* `pay.rates.rule_packages.rules:delete`
|
|
3936
|
+
*
|
|
3937
|
+
*/
|
|
3938
|
+
static deletePayRateRule(options) {
|
|
3939
|
+
return (options.client ?? client).delete({
|
|
3940
|
+
security: [{ name: 'X-Api-Key', type: 'apiKey' }],
|
|
3941
|
+
url: '/api/v1/pay/rates/rule_packages/{rule_package_id}/rules/{id}',
|
|
3942
|
+
...options
|
|
3943
|
+
});
|
|
3944
|
+
}
|
|
3945
|
+
/**
|
|
3946
|
+
* Get a pay rate rule
|
|
3947
|
+
*
|
|
3948
|
+
* Fetch the version of one package rule valid at a point in time.
|
|
3949
|
+
*
|
|
3950
|
+
*
|
|
3951
|
+
* **Required scope:**
|
|
3952
|
+
*
|
|
3953
|
+
* `pay.rates.rule_packages.rules:read`
|
|
3954
|
+
*
|
|
3955
|
+
*/
|
|
3956
|
+
static getPayRateRule(options) {
|
|
3957
|
+
return (options.client ?? client).get({
|
|
3958
|
+
security: [{ name: 'X-Api-Key', type: 'apiKey' }],
|
|
3959
|
+
url: '/api/v1/pay/rates/rule_packages/{rule_package_id}/rules/{id}',
|
|
3960
|
+
...options
|
|
3961
|
+
});
|
|
3962
|
+
}
|
|
3963
|
+
/**
|
|
3964
|
+
* Update a pay rate rule
|
|
3965
|
+
*
|
|
3966
|
+
* Change a rule from an effective date forward. Omitted effect or conditions
|
|
3967
|
+
* keep that part of the targeted version. When the targeted recipe changes, the
|
|
3968
|
+
* resulting complete recipe applies from that coordinate across later scheduled
|
|
3969
|
+
* versions; an unchanged recipe does not alter later scheduled versions. Omit `effective_from` to
|
|
3970
|
+
* correct the version valid now — or the nearest past/future version when none is
|
|
3971
|
+
* valid now — from its exact existing start. A beginless version requires an
|
|
3972
|
+
* explicit date.
|
|
3973
|
+
*
|
|
3974
|
+
* Conditional: send the rule's `ETag` as `If-Match`.
|
|
3975
|
+
*
|
|
3976
|
+
*
|
|
3977
|
+
* **Required scope:**
|
|
3978
|
+
*
|
|
3979
|
+
* `pay.rates.rule_packages.rules:update`
|
|
3980
|
+
*
|
|
3981
|
+
*/
|
|
3982
|
+
static updatePayRateRule(options) {
|
|
3983
|
+
return (options.client ?? client).patch({
|
|
3984
|
+
security: [{ name: 'X-Api-Key', type: 'apiKey' }],
|
|
3985
|
+
url: '/api/v1/pay/rates/rule_packages/{rule_package_id}/rules/{id}',
|
|
3986
|
+
...options,
|
|
3987
|
+
headers: {
|
|
3988
|
+
'Content-Type': 'application/json',
|
|
3989
|
+
...options.headers
|
|
3990
|
+
}
|
|
3991
|
+
});
|
|
3992
|
+
}
|
|
3993
|
+
}
|
|
3994
|
+
export class PayRateRulePackages {
|
|
3995
|
+
/**
|
|
3996
|
+
* List pay rate rule packages
|
|
3997
|
+
*
|
|
3998
|
+
* **Required scope:**
|
|
3999
|
+
*
|
|
4000
|
+
* `pay.rates.rule_packages:read`
|
|
4001
|
+
*
|
|
4002
|
+
*/
|
|
4003
|
+
static listPayRateRulePackages(options) {
|
|
4004
|
+
return (options?.client ?? client).get({
|
|
4005
|
+
security: [{ name: 'X-Api-Key', type: 'apiKey' }],
|
|
4006
|
+
url: '/api/v1/pay/rates/rule_packages',
|
|
4007
|
+
...options
|
|
4008
|
+
});
|
|
4009
|
+
}
|
|
4010
|
+
/**
|
|
4011
|
+
* Create a pay rate rule package
|
|
4012
|
+
*
|
|
4013
|
+
* **Required scope:**
|
|
4014
|
+
*
|
|
4015
|
+
* `pay.rates.rule_packages:create`
|
|
4016
|
+
*
|
|
4017
|
+
*/
|
|
4018
|
+
static createPayRateRulePackage(options) {
|
|
4019
|
+
return (options.client ?? client).post({
|
|
4020
|
+
security: [{ name: 'X-Api-Key', type: 'apiKey' }],
|
|
4021
|
+
url: '/api/v1/pay/rates/rule_packages',
|
|
4022
|
+
...options,
|
|
4023
|
+
headers: {
|
|
4024
|
+
'Content-Type': 'application/json',
|
|
4025
|
+
...options.headers
|
|
4026
|
+
}
|
|
4027
|
+
});
|
|
4028
|
+
}
|
|
4029
|
+
/**
|
|
4030
|
+
* Get a pay rate rule package
|
|
4031
|
+
*
|
|
4032
|
+
* **Required scope:**
|
|
4033
|
+
*
|
|
4034
|
+
* `pay.rates.rule_packages:read`
|
|
4035
|
+
*
|
|
4036
|
+
*/
|
|
4037
|
+
static getPayRateRulePackage(options) {
|
|
4038
|
+
return (options.client ?? client).get({
|
|
4039
|
+
security: [{ name: 'X-Api-Key', type: 'apiKey' }],
|
|
4040
|
+
url: '/api/v1/pay/rates/rule_packages/{id}',
|
|
4041
|
+
...options
|
|
4042
|
+
});
|
|
4043
|
+
}
|
|
4044
|
+
}
|
|
3707
4045
|
export class AggregateTimeImports {
|
|
3708
4046
|
/**
|
|
3709
4047
|
* List Aggregate Time Imports
|
|
@@ -4367,7 +4705,9 @@ export class People {
|
|
|
4367
4705
|
*
|
|
4368
4706
|
* Every valid-time version of one employment stint, newest first. Each
|
|
4369
4707
|
* entry uses `people_employment_id` rather than an entry-level id and
|
|
4370
|
-
* includes prior recorded corrections.
|
|
4708
|
+
* includes prior recorded corrections. Company managers may read
|
|
4709
|
+
* coworker history, but direct monetary fields are limited to their
|
|
4710
|
+
* own employment in versions and corrections.
|
|
4371
4711
|
*
|
|
4372
4712
|
*
|
|
4373
4713
|
* **Required scope:**
|
|
@@ -4386,7 +4726,9 @@ export class People {
|
|
|
4386
4726
|
* List employment histories
|
|
4387
4727
|
*
|
|
4388
4728
|
* Employment history across all authorized stints in the credential
|
|
4389
|
-
* company, including ended stints and rehired employments.
|
|
4729
|
+
* company, including ended stints and rehired employments. Company
|
|
4730
|
+
* managers receive direct monetary fields only for their own
|
|
4731
|
+
* employment in versions and corrections.
|
|
4390
4732
|
*
|
|
4391
4733
|
*
|
|
4392
4734
|
* **Required scope:**
|
|
@@ -4405,8 +4747,9 @@ export class People {
|
|
|
4405
4747
|
* List employments
|
|
4406
4748
|
*
|
|
4407
4749
|
* Current employments in the credential company, or versions at
|
|
4408
|
-
* `as_of[valid]`.
|
|
4409
|
-
* company
|
|
4750
|
+
* `as_of[valid]`. Company managers and administrators see every
|
|
4751
|
+
* company employment. Managers receive direct monetary fields only
|
|
4752
|
+
* for their own employment. Other user keys see only their own records.
|
|
4410
4753
|
*
|
|
4411
4754
|
*
|
|
4412
4755
|
* **Required scope:**
|
|
@@ -4424,6 +4767,11 @@ export class People {
|
|
|
4424
4767
|
/**
|
|
4425
4768
|
* Get employment
|
|
4426
4769
|
*
|
|
4770
|
+
* The employment version covering now or `as_of[valid]`. Company
|
|
4771
|
+
* managers may read coworkers, but receive direct monetary fields
|
|
4772
|
+
* only for their own employment.
|
|
4773
|
+
*
|
|
4774
|
+
*
|
|
4427
4775
|
* **Required scope:**
|
|
4428
4776
|
*
|
|
4429
4777
|
* `people.employments:read`
|
|
@@ -4719,9 +5067,11 @@ export class Projects {
|
|
|
4719
5067
|
*
|
|
4720
5068
|
* List the company's projects — the top-level containers that organize jobs into
|
|
4721
5069
|
* federal and regional PWA compliance scopes. Returned oldest first (ordered by
|
|
4722
|
-
* creation time, then id) and scoped to the API key's company,
|
|
4723
|
-
*
|
|
4724
|
-
*
|
|
5070
|
+
* creation time, then id) and scoped to projects owned by the API key's company,
|
|
5071
|
+
* their descendants, and projects where the company participates. User-scoped
|
|
5072
|
+
* keys also require the user's own project access. Narrow with the `filter[...]`
|
|
5073
|
+
* query parameters and the `created_at`/`updated_at` time filters; results are
|
|
5074
|
+
* paginated.
|
|
4725
5075
|
*
|
|
4726
5076
|
*
|
|
4727
5077
|
* **Required scope:**
|
|
@@ -4746,10 +5096,11 @@ export class Projects {
|
|
|
4746
5096
|
* prevailing-wage lock-in / beginning-of-construction / placed-in-service dates)
|
|
4747
5097
|
* and `asset_owner` apply only while `federal_pwa_mode` is not `none`, so sending
|
|
4748
5098
|
* one of them on a project that tracks no federal PWA — even as null — returns
|
|
4749
|
-
* 422.
|
|
4750
|
-
*
|
|
4751
|
-
*
|
|
4752
|
-
*
|
|
5099
|
+
* 422. `parent_id` may name a project visible to the API key's policy, and
|
|
5100
|
+
* `participating_company_ids` is the complete set of participating companies.
|
|
5101
|
+
* Remove a participant's jobs before removing it from this set. Returns 201
|
|
5102
|
+
* with the project; unknown or inaccessible parent or
|
|
5103
|
+
* company IDs return 404, and invalid attributes or relationships return 422.
|
|
4753
5104
|
*
|
|
4754
5105
|
*
|
|
4755
5106
|
* **Required scope:**
|
|
@@ -4771,8 +5122,10 @@ export class Projects {
|
|
|
4771
5122
|
/**
|
|
4772
5123
|
* Show project
|
|
4773
5124
|
*
|
|
4774
|
-
* Fetch a single project by id.
|
|
4775
|
-
*
|
|
5125
|
+
* Fetch a single project by id. A company-scoped key can read its owned projects,
|
|
5126
|
+
* their descendants, and projects where the company participates. User-scoped
|
|
5127
|
+
* keys also require the user's own project access. An unrelated project or an
|
|
5128
|
+
* unknown id returns 404.
|
|
4776
5129
|
*
|
|
4777
5130
|
*
|
|
4778
5131
|
* **Required scope:**
|
|
@@ -4796,8 +5149,10 @@ export class Projects {
|
|
|
4796
5149
|
* dates) and `asset_owner` apply only while `federal_pwa_mode` is not `none`:
|
|
4797
5150
|
* switching it to `none` clears the stored values and forces `asset_owner`
|
|
4798
5151
|
* false, and sending one of them while federal tracking is off — even as null —
|
|
4799
|
-
* returns 422. `budget_currency` defaults to USD when blank.
|
|
4800
|
-
*
|
|
5152
|
+
* returns 422. `budget_currency` defaults to USD when blank. `parent_id` moves
|
|
5153
|
+
* or detaches the project, and `participating_company_ids` replaces the complete
|
|
5154
|
+
* set of participating companies. Remove a participant's jobs before removing
|
|
5155
|
+
* it from this set. Only the owning company may update the project.
|
|
4801
5156
|
*
|
|
4802
5157
|
*
|
|
4803
5158
|
* **Required scope:**
|