@dsptch-work/api-client 0.20.0 → 0.22.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 +64 -0
- package/dist/gen/index.d.ts +2 -2
- package/dist/gen/index.js +1 -1
- package/dist/gen/sdk.gen.d.ts +371 -16
- package/dist/gen/sdk.gen.js +546 -15
- package/dist/gen/types.gen.d.ts +2210 -736
- package/dist/gen/zod.gen.d.ts +3327 -1598
- package/dist/gen/zod.gen.js +467 -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
|
|
@@ -4362,12 +4700,47 @@ export class Paystubs {
|
|
|
4362
4700
|
}
|
|
4363
4701
|
}
|
|
4364
4702
|
export class People {
|
|
4703
|
+
/**
|
|
4704
|
+
* Correct employment hire-date boundary
|
|
4705
|
+
*
|
|
4706
|
+
* Correct where one employment stint's valid-time timeline begins.
|
|
4707
|
+
* Moving the date earlier extends the first version; moving it later
|
|
4708
|
+
* removes older versions or coverage before the new date. This is a
|
|
4709
|
+
* valid-time correction and does not preserve removed versions as
|
|
4710
|
+
* bitemporal history.
|
|
4711
|
+
*
|
|
4712
|
+
* Employments with no recorded hire-date boundary cannot use this
|
|
4713
|
+
* endpoint because employment reconciliation requires a finite start.
|
|
4714
|
+
* Read the employment again after a successful correction; the response
|
|
4715
|
+
* carries the family's new `ETag`.
|
|
4716
|
+
*
|
|
4717
|
+
* Conditional: send the employment's `ETag` as `If-Match`.
|
|
4718
|
+
*
|
|
4719
|
+
*
|
|
4720
|
+
* **Required scope:**
|
|
4721
|
+
*
|
|
4722
|
+
* `people.employments.genesis:update`
|
|
4723
|
+
*
|
|
4724
|
+
*/
|
|
4725
|
+
static updateGenesis(options) {
|
|
4726
|
+
return (options.client ?? client).patch({
|
|
4727
|
+
security: [{ name: 'X-Api-Key', type: 'apiKey' }],
|
|
4728
|
+
url: '/api/v1/people/employments/{employment_id}/genesis',
|
|
4729
|
+
...options,
|
|
4730
|
+
headers: {
|
|
4731
|
+
'Content-Type': 'application/json',
|
|
4732
|
+
...options.headers
|
|
4733
|
+
}
|
|
4734
|
+
});
|
|
4735
|
+
}
|
|
4365
4736
|
/**
|
|
4366
4737
|
* List employment history
|
|
4367
4738
|
*
|
|
4368
4739
|
* Every valid-time version of one employment stint, newest first. Each
|
|
4369
4740
|
* entry uses `people_employment_id` rather than an entry-level id and
|
|
4370
|
-
* includes prior recorded corrections.
|
|
4741
|
+
* includes prior recorded corrections. Company managers may read
|
|
4742
|
+
* coworker history, but direct monetary fields are limited to their
|
|
4743
|
+
* own employment in versions and corrections.
|
|
4371
4744
|
*
|
|
4372
4745
|
*
|
|
4373
4746
|
* **Required scope:**
|
|
@@ -4386,7 +4759,9 @@ export class People {
|
|
|
4386
4759
|
* List employment histories
|
|
4387
4760
|
*
|
|
4388
4761
|
* Employment history across all authorized stints in the credential
|
|
4389
|
-
* company, including ended stints and rehired employments.
|
|
4762
|
+
* company, including ended stints and rehired employments. Company
|
|
4763
|
+
* managers receive direct monetary fields only for their own
|
|
4764
|
+
* employment in versions and corrections.
|
|
4390
4765
|
*
|
|
4391
4766
|
*
|
|
4392
4767
|
* **Required scope:**
|
|
@@ -4401,12 +4776,130 @@ export class People {
|
|
|
4401
4776
|
...options
|
|
4402
4777
|
});
|
|
4403
4778
|
}
|
|
4779
|
+
/**
|
|
4780
|
+
* Schedule an employment change
|
|
4781
|
+
*
|
|
4782
|
+
* Create one strictly future employment-version boundary. `effective_date` is
|
|
4783
|
+
* interpreted at midnight in the credential company's time zone. This operation
|
|
4784
|
+
* cannot move or replace an existing boundary.
|
|
4785
|
+
*
|
|
4786
|
+
* Conditional: send the employment's `ETag` as `If-Match`.
|
|
4787
|
+
*
|
|
4788
|
+
*
|
|
4789
|
+
* **Required scope:**
|
|
4790
|
+
*
|
|
4791
|
+
* `people.employments.scheduled_changes:create`
|
|
4792
|
+
*
|
|
4793
|
+
*/
|
|
4794
|
+
static createEmploymentScheduledChange(options) {
|
|
4795
|
+
return (options.client ?? client).post({
|
|
4796
|
+
security: [{ name: 'X-Api-Key', type: 'apiKey' }],
|
|
4797
|
+
url: '/api/v1/people/employments/{employment_id}/scheduled_changes',
|
|
4798
|
+
...options,
|
|
4799
|
+
headers: {
|
|
4800
|
+
'Content-Type': 'application/json',
|
|
4801
|
+
...options.headers
|
|
4802
|
+
}
|
|
4803
|
+
});
|
|
4804
|
+
}
|
|
4805
|
+
/**
|
|
4806
|
+
* Cancel one employment change at an exact boundary
|
|
4807
|
+
*
|
|
4808
|
+
* Cancel only the exact strictly future boundary named by the path. Its preceding
|
|
4809
|
+
* version expands across the removed interval; any later boundary remains in place.
|
|
4810
|
+
*
|
|
4811
|
+
* Conditional: send the employment's `ETag` as `If-Match`.
|
|
4812
|
+
*
|
|
4813
|
+
*
|
|
4814
|
+
* **Required scope:**
|
|
4815
|
+
*
|
|
4816
|
+
* `people.employments.scheduled_changes:delete`
|
|
4817
|
+
*
|
|
4818
|
+
*/
|
|
4819
|
+
static deleteEmploymentScheduledChange(options) {
|
|
4820
|
+
return (options.client ?? client).delete({
|
|
4821
|
+
security: [{ name: 'X-Api-Key', type: 'apiKey' }],
|
|
4822
|
+
url: '/api/v1/people/employments/{employment_id}/scheduled_changes/{effective_date}',
|
|
4823
|
+
...options
|
|
4824
|
+
});
|
|
4825
|
+
}
|
|
4826
|
+
/**
|
|
4827
|
+
* Edit an employment change at an exact boundary
|
|
4828
|
+
*
|
|
4829
|
+
* Change values at the exact strictly future boundary named by the path. The
|
|
4830
|
+
* boundary itself never moves; a date inside a version does not identify it.
|
|
4831
|
+
*
|
|
4832
|
+
* Conditional: send the employment's `ETag` as `If-Match`.
|
|
4833
|
+
*
|
|
4834
|
+
*
|
|
4835
|
+
* **Required scope:**
|
|
4836
|
+
*
|
|
4837
|
+
* `people.employments.scheduled_changes:update`
|
|
4838
|
+
*
|
|
4839
|
+
*/
|
|
4840
|
+
static updateEmploymentScheduledChange(options) {
|
|
4841
|
+
return (options.client ?? client).patch({
|
|
4842
|
+
security: [{ name: 'X-Api-Key', type: 'apiKey' }],
|
|
4843
|
+
url: '/api/v1/people/employments/{employment_id}/scheduled_changes/{effective_date}',
|
|
4844
|
+
...options,
|
|
4845
|
+
headers: {
|
|
4846
|
+
'Content-Type': 'application/json',
|
|
4847
|
+
...options.headers
|
|
4848
|
+
}
|
|
4849
|
+
});
|
|
4850
|
+
}
|
|
4851
|
+
/**
|
|
4852
|
+
* Cancel a scheduled employment termination
|
|
4853
|
+
*
|
|
4854
|
+
* **Required scope:**
|
|
4855
|
+
*
|
|
4856
|
+
* `people.employments.scheduled_terminations:delete`
|
|
4857
|
+
*
|
|
4858
|
+
*/
|
|
4859
|
+
static deleteScheduledTermination(options) {
|
|
4860
|
+
return (options.client ?? client).delete({
|
|
4861
|
+
security: [{ name: 'X-Api-Key', type: 'apiKey' }],
|
|
4862
|
+
url: '/api/v1/people/employments/{employment_id}/scheduled_termination',
|
|
4863
|
+
...options
|
|
4864
|
+
});
|
|
4865
|
+
}
|
|
4866
|
+
/**
|
|
4867
|
+
* Schedule an employment termination
|
|
4868
|
+
*
|
|
4869
|
+
* Close this employment stint's timeline at `effective_date`. The employment remains
|
|
4870
|
+
* readable in history strictly before that date, but stops applying at company-local
|
|
4871
|
+
* midnight starting that date. This does not delete the employment family; family
|
|
4872
|
+
* deletion is a separate operation.
|
|
4873
|
+
*
|
|
4874
|
+
* A family with a termination already standing returns `409`. To move its end, cancel it
|
|
4875
|
+
* with `DELETE` and then make a new `POST` with the replacement date.
|
|
4876
|
+
* A termination at or before the employment's genesis is refused with `422`.
|
|
4877
|
+
* Conditional: send the employment's `ETag` as `If-Match`.
|
|
4878
|
+
*
|
|
4879
|
+
*
|
|
4880
|
+
* **Required scope:**
|
|
4881
|
+
*
|
|
4882
|
+
* `people.employments.scheduled_terminations:create`
|
|
4883
|
+
*
|
|
4884
|
+
*/
|
|
4885
|
+
static createEmploymentScheduledTermination(options) {
|
|
4886
|
+
return (options.client ?? client).post({
|
|
4887
|
+
security: [{ name: 'X-Api-Key', type: 'apiKey' }],
|
|
4888
|
+
url: '/api/v1/people/employments/{employment_id}/scheduled_termination',
|
|
4889
|
+
...options,
|
|
4890
|
+
headers: {
|
|
4891
|
+
'Content-Type': 'application/json',
|
|
4892
|
+
...options.headers
|
|
4893
|
+
}
|
|
4894
|
+
});
|
|
4895
|
+
}
|
|
4404
4896
|
/**
|
|
4405
4897
|
* List employments
|
|
4406
4898
|
*
|
|
4407
4899
|
* Current employments in the credential company, or versions at
|
|
4408
|
-
* `as_of[valid]`.
|
|
4409
|
-
* company
|
|
4900
|
+
* `as_of[valid]`. Company managers and administrators see every
|
|
4901
|
+
* company employment. Managers receive direct monetary fields only
|
|
4902
|
+
* for their own employment. Other user keys see only their own records.
|
|
4410
4903
|
*
|
|
4411
4904
|
*
|
|
4412
4905
|
* **Required scope:**
|
|
@@ -4421,9 +4914,40 @@ export class People {
|
|
|
4421
4914
|
...options
|
|
4422
4915
|
});
|
|
4423
4916
|
}
|
|
4917
|
+
/**
|
|
4918
|
+
* Create employment
|
|
4919
|
+
*
|
|
4920
|
+
* Create a new employment stint for an existing user in the
|
|
4921
|
+
* credential company. `hire_date` is interpreted at midnight in
|
|
4922
|
+
* the company time zone. A rehire creates a distinct stint; an
|
|
4923
|
+
* overlapping stint is rejected. This operation creates no user,
|
|
4924
|
+
* invitation, role, group, or login identity.
|
|
4925
|
+
*
|
|
4926
|
+
*
|
|
4927
|
+
* **Required scope:**
|
|
4928
|
+
*
|
|
4929
|
+
* `people.employments:create`
|
|
4930
|
+
*
|
|
4931
|
+
*/
|
|
4932
|
+
static createEmployment(options) {
|
|
4933
|
+
return (options.client ?? client).post({
|
|
4934
|
+
security: [{ name: 'X-Api-Key', type: 'apiKey' }],
|
|
4935
|
+
url: '/api/v1/people/employments',
|
|
4936
|
+
...options,
|
|
4937
|
+
headers: {
|
|
4938
|
+
'Content-Type': 'application/json',
|
|
4939
|
+
...options.headers
|
|
4940
|
+
}
|
|
4941
|
+
});
|
|
4942
|
+
}
|
|
4424
4943
|
/**
|
|
4425
4944
|
* Get employment
|
|
4426
4945
|
*
|
|
4946
|
+
* The employment version covering now or `as_of[valid]`. Company
|
|
4947
|
+
* managers may read coworkers, but receive direct monetary fields
|
|
4948
|
+
* only for their own employment.
|
|
4949
|
+
*
|
|
4950
|
+
*
|
|
4427
4951
|
* **Required scope:**
|
|
4428
4952
|
*
|
|
4429
4953
|
* `people.employments:read`
|
|
@@ -4719,9 +5243,11 @@ export class Projects {
|
|
|
4719
5243
|
*
|
|
4720
5244
|
* List the company's projects — the top-level containers that organize jobs into
|
|
4721
5245
|
* 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
|
-
*
|
|
5246
|
+
* creation time, then id) and scoped to projects owned by the API key's company,
|
|
5247
|
+
* their descendants, and projects where the company participates. User-scoped
|
|
5248
|
+
* keys also require the user's own project access. Narrow with the `filter[...]`
|
|
5249
|
+
* query parameters and the `created_at`/`updated_at` time filters; results are
|
|
5250
|
+
* paginated.
|
|
4725
5251
|
*
|
|
4726
5252
|
*
|
|
4727
5253
|
* **Required scope:**
|
|
@@ -4746,10 +5272,11 @@ export class Projects {
|
|
|
4746
5272
|
* prevailing-wage lock-in / beginning-of-construction / placed-in-service dates)
|
|
4747
5273
|
* and `asset_owner` apply only while `federal_pwa_mode` is not `none`, so sending
|
|
4748
5274
|
* one of them on a project that tracks no federal PWA — even as null — returns
|
|
4749
|
-
* 422.
|
|
4750
|
-
*
|
|
4751
|
-
*
|
|
4752
|
-
*
|
|
5275
|
+
* 422. `parent_id` may name a project visible to the API key's policy, and
|
|
5276
|
+
* `participating_company_ids` is the complete set of participating companies.
|
|
5277
|
+
* Remove a participant's jobs before removing it from this set. Returns 201
|
|
5278
|
+
* with the project; unknown or inaccessible parent or
|
|
5279
|
+
* company IDs return 404, and invalid attributes or relationships return 422.
|
|
4753
5280
|
*
|
|
4754
5281
|
*
|
|
4755
5282
|
* **Required scope:**
|
|
@@ -4771,8 +5298,10 @@ export class Projects {
|
|
|
4771
5298
|
/**
|
|
4772
5299
|
* Show project
|
|
4773
5300
|
*
|
|
4774
|
-
* Fetch a single project by id.
|
|
4775
|
-
*
|
|
5301
|
+
* Fetch a single project by id. A company-scoped key can read its owned projects,
|
|
5302
|
+
* their descendants, and projects where the company participates. User-scoped
|
|
5303
|
+
* keys also require the user's own project access. An unrelated project or an
|
|
5304
|
+
* unknown id returns 404.
|
|
4776
5305
|
*
|
|
4777
5306
|
*
|
|
4778
5307
|
* **Required scope:**
|
|
@@ -4796,8 +5325,10 @@ export class Projects {
|
|
|
4796
5325
|
* dates) and `asset_owner` apply only while `federal_pwa_mode` is not `none`:
|
|
4797
5326
|
* switching it to `none` clears the stored values and forces `asset_owner`
|
|
4798
5327
|
* 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
|
-
*
|
|
5328
|
+
* returns 422. `budget_currency` defaults to USD when blank. `parent_id` moves
|
|
5329
|
+
* or detaches the project, and `participating_company_ids` replaces the complete
|
|
5330
|
+
* set of participating companies. Remove a participant's jobs before removing
|
|
5331
|
+
* it from this set. Only the owning company may update the project.
|
|
4801
5332
|
*
|
|
4802
5333
|
*
|
|
4803
5334
|
* **Required scope:**
|