@dsptch-work/api-client 0.22.0 → 0.23.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.
@@ -34,6 +34,25 @@ export class ApprenticeshipAllocations {
34
34
  ...options
35
35
  });
36
36
  }
37
+ /**
38
+ * Create apprenticeship allocation
39
+ *
40
+ * **Required scope:**
41
+ *
42
+ * `apprenticeship.apprentices.allocations:create`
43
+ *
44
+ */
45
+ static createAllocation(options) {
46
+ return (options.client ?? client).post({
47
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
48
+ url: '/api/v1/apprenticeship/apprentices/{apprentice_id}/allocations',
49
+ ...options,
50
+ headers: {
51
+ 'Content-Type': 'application/json',
52
+ ...options.headers
53
+ }
54
+ });
55
+ }
37
56
  /**
38
57
  * Show apprenticeship allocation
39
58
  *
@@ -50,7 +69,7 @@ export class ApprenticeshipAllocations {
50
69
  });
51
70
  }
52
71
  /**
53
- * Update apprenticeship allocation effective date
72
+ * Update apprenticeship allocation
54
73
  *
55
74
  * **Required scope:**
56
75
  *
@@ -4700,6 +4719,56 @@ export class Paystubs {
4700
4719
  }
4701
4720
  }
4702
4721
  export class People {
4722
+ /**
4723
+ * List employment custom fields
4724
+ *
4725
+ * Stored custom-field values on one employment family, independent
4726
+ * of its valid-time versions. A null is a stored value. Hidden
4727
+ * configurations with stored values remain readable, as in the
4728
+ * employment details UI. Join `custom_field_config_id` to
4729
+ * `GET /api/v1/custom_field_configs` for names and definitions;
4730
+ * that endpoint requires its own scope and includes hidden configs.
4731
+ *
4732
+ *
4733
+ * **Required scope:**
4734
+ *
4735
+ * `people.employments.custom_fields:read`
4736
+ *
4737
+ */
4738
+ static listCustomFields(options) {
4739
+ return (options.client ?? client).get({
4740
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
4741
+ url: '/api/v1/people/employments/{employment_id}/custom_fields',
4742
+ ...options
4743
+ });
4744
+ }
4745
+ /**
4746
+ * Update employment custom fields
4747
+ *
4748
+ * Update several stored values on one employment family in one
4749
+ * transaction. Each row names a company-owned employment config by
4750
+ * ID; omitted configs remain unchanged and an explicit null stores
4751
+ * a null value. A hidden config may update a value already attached
4752
+ * to the family, but cannot attach a new one. Values must be strings
4753
+ * or null. Send the family's current ETag as `If-Match`.
4754
+ *
4755
+ *
4756
+ * **Required scope:**
4757
+ *
4758
+ * `people.employments.custom_fields:update`
4759
+ *
4760
+ */
4761
+ static updateCustomField(options) {
4762
+ return (options.client ?? client).patch({
4763
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
4764
+ url: '/api/v1/people/employments/{employment_id}/custom_fields',
4765
+ ...options,
4766
+ headers: {
4767
+ 'Content-Type': 'application/json',
4768
+ ...options.headers
4769
+ }
4770
+ });
4771
+ }
4703
4772
  /**
4704
4773
  * Correct employment hire-date boundary
4705
4774
  *
@@ -4940,6 +5009,32 @@ export class People {
4940
5009
  }
4941
5010
  });
4942
5011
  }
5012
+ /**
5013
+ * Remove employment family
5014
+ *
5015
+ * Permanently remove every valid-time version in this employment
5016
+ * stint. This deletes the stint's family-owned records, such as its
5017
+ * custom fields, while preserving the person, company-level PWA
5018
+ * details, and different employment stints.
5019
+ *
5020
+ * This is distinct from scheduling a termination. Conditional: send
5021
+ * the employment's `ETag` as `If-Match`. Employment families without
5022
+ * a start boundary are refused because the derived-data reconciliation
5023
+ * needs that earliest affected instant.
5024
+ *
5025
+ *
5026
+ * **Required scope:**
5027
+ *
5028
+ * `people.employments:delete`
5029
+ *
5030
+ */
5031
+ static deleteEmployment(options) {
5032
+ return (options.client ?? client).delete({
5033
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
5034
+ url: '/api/v1/people/employments/{id}',
5035
+ ...options
5036
+ });
5037
+ }
4943
5038
  /**
4944
5039
  * Get employment
4945
5040
  *
@@ -4960,6 +5055,35 @@ export class People {
4960
5055
  ...options
4961
5056
  });
4962
5057
  }
5058
+ /**
5059
+ * Update employment details
5060
+ *
5061
+ * Update one employment stint's direct details from its first
5062
+ * recorded boundary forward. Values that differ there propagate
5063
+ * through every later version in the family. Values already true at
5064
+ * that boundary are a no-op, even when a later version differs.
5065
+ * Schedule compensation and PWA changes through their dedicated
5066
+ * temporal endpoints.
5067
+ *
5068
+ * Conditional: send the employment's `ETag` as `If-Match`.
5069
+ *
5070
+ *
5071
+ * **Required scope:**
5072
+ *
5073
+ * `people.employments:update`
5074
+ *
5075
+ */
5076
+ static updateEmployment(options) {
5077
+ return (options.client ?? client).patch({
5078
+ security: [{ name: 'X-Api-Key', type: 'apiKey' }],
5079
+ url: '/api/v1/people/employments/{id}',
5080
+ ...options,
5081
+ headers: {
5082
+ 'Content-Type': 'application/json',
5083
+ ...options.headers
5084
+ }
5085
+ });
5086
+ }
4963
5087
  }
4964
5088
  export class PerDiems {
4965
5089
  /**
@@ -795,11 +795,48 @@ export type ApprenticeshipAllocationResponseObject = {
795
795
  updated_at: string;
796
796
  };
797
797
  /**
798
- * Correct the effective timestamp of an existing standalone allocation. Time-card-linked allocations cannot be date-corrected. A changed timestamp rebuilds progression and requests historical wage repricing in the background, including locked time cards.
798
+ * Record hours toward an apprentice's wage progression. Creation requires a user-scoped API key, since the row attributes the hours to the person who recorded them. Omit timekeeping_time_card_id for a standalone allocation entered outside the time card system, or supply it to link the allocation to one of the apprentice's own time cards; the effective timestamp then derives from the card's pay period and cannot be overridden. Recording the allocation rebuilds progression and requests wage repricing in the background.
799
+ */
800
+ export type ApprenticeshipAllocationCreateParameters = {
801
+ /**
802
+ * Work process category to categorize the allocation under; optional, omit for an uncategorized allocation.
803
+ */
804
+ apprenticeship_work_process_category_id?: string;
805
+ /**
806
+ * Time card to link the allocation to, scoped to the apprentice's own cards; optional, omit for a standalone allocation. Cannot be changed after creation.
807
+ */
808
+ timekeeping_time_card_id?: string;
809
+ /**
810
+ * Minutes of credited hours. Required, must be positive, and (when linked to a time card) cannot push the card's categorized total past its overtime-eligible minutes.
811
+ */
812
+ minutes: number;
813
+ /**
814
+ * Free-text note on the allocation; optional.
815
+ */
816
+ description?: string;
817
+ /**
818
+ * Effective timestamp for the credited hours, as ISO 8601 with an explicit UTC offset or Z. Optional for a standalone allocation, defaulting to now; must equal the linked time card's pay-period start when one is supplied. The employer-local date must be today or earlier.
819
+ */
820
+ allocated_at?: string;
821
+ };
822
+ /**
823
+ * Correct an existing allocation's hours, work process category, description, or (for a standalone allocation) effective timestamp. The time card an allocation is linked to cannot be changed after creation. Any change that shifts progression rebuilds it and requests historical wage repricing in the background, including locked time cards.
799
824
  */
800
825
  export type ApprenticeshipAllocationUpdateParameters = {
801
826
  /**
802
- * Effective timestamp for the credited hours, as ISO 8601 with an explicit UTC offset or Z. Optional; omission leaves the timestamp unchanged, and null is rejected. The employer-local date must be today or earlier and may predate enrollment. An unchanged timestamp does not request repricing.
827
+ * Work process category to recategorize the allocation under; optional, null to make it uncategorized.
828
+ */
829
+ apprenticeship_work_process_category_id?: string | null;
830
+ /**
831
+ * Minutes of credited hours; optional, must be positive, and (for a time-card-linked allocation) cannot push the card's categorized total past its overtime-eligible minutes.
832
+ */
833
+ minutes?: number;
834
+ /**
835
+ * Free-text note on the allocation; optional, null to clear.
836
+ */
837
+ description?: string | null;
838
+ /**
839
+ * Effective timestamp for the credited hours, as ISO 8601 with an explicit UTC offset or Z. Optional; omission leaves the timestamp unchanged, and null is rejected. The employer-local date must be today or earlier and may predate enrollment. Time-card-linked allocations cannot be date-corrected. An unchanged timestamp does not request repricing.
803
840
  */
804
841
  allocated_at?: string;
805
842
  };
@@ -1555,6 +1592,10 @@ export type PeopleEmploymentScheduledChangeCreateParameters = {
1555
1592
  * Annual employer savings contribution in cents as a decimal string. Omit to carry forward the preceding version, or send null to clear it.
1556
1593
  */
1557
1594
  employer_combined_savings_cents?: string | null;
1595
+ /**
1596
+ * Department ID in the credential company. Omit to carry forward the preceding version, or send null to clear it. A submitted value applies to this and all later versions.
1597
+ */
1598
+ companies_department_id?: string | null;
1558
1599
  /**
1559
1600
  * Company-local date when the new boundary takes effect. Must be strictly in the future. Required.
1560
1601
  */
@@ -1608,6 +1649,10 @@ export type PeopleEmploymentScheduledChangeUpdateParameters = {
1608
1649
  * Annual employer savings contribution in cents as a decimal string. Omit to preserve the value at the targeted boundary, or send null to clear it.
1609
1650
  */
1610
1651
  employer_combined_savings_cents?: string | null;
1652
+ /**
1653
+ * Department ID in the credential company. Omit to preserve the value at the targeted boundary, or send null to clear it. A submitted value applies to this and all later versions.
1654
+ */
1655
+ companies_department_id?: string | null;
1611
1656
  };
1612
1657
  /**
1613
1658
  * Parameters for moving where an employment stint's valid-time timeline begins.
@@ -1627,6 +1672,53 @@ export type PeopleEmploymentScheduledTerminationParameters = {
1627
1672
  */
1628
1673
  effective_date: string;
1629
1674
  };
1675
+ /**
1676
+ * Request body for correcting an employment stint's operational details from its first recorded boundary forward. Send only the fields to change. A submitted value that already applies at the first boundary is a no-op, even when a later version differs.
1677
+ */
1678
+ export type PeopleEmploymentUpdateParameters = {
1679
+ /**
1680
+ * Whether the relationship is EMPLOYEE or CONTRACTOR. Omit to preserve the value recorded at the first boundary.
1681
+ */
1682
+ type?: 'EMPLOYEE' | 'CONTRACTOR';
1683
+ /**
1684
+ * Employment title. Send null to clear it; omit to preserve the value recorded at the first boundary.
1685
+ */
1686
+ title?: string | null;
1687
+ /**
1688
+ * Manager ID. Send null to clear it; omit to preserve the value recorded at the first boundary.
1689
+ */
1690
+ manager_user_id?: string | null;
1691
+ /**
1692
+ * Payroll-system identifier. Send null to clear it; omit to preserve the value recorded at the first boundary.
1693
+ */
1694
+ payroll_id?: string | null;
1695
+ /**
1696
+ * Whether this employment is enrolled in time and attendance. Omit to preserve the value recorded at the first boundary.
1697
+ */
1698
+ enrolled_in_t_and_a?: boolean;
1699
+ };
1700
+ export type PeopleEmploymentCustomFieldResponseObject = {
1701
+ custom_field_config_id: string;
1702
+ value: string | null;
1703
+ };
1704
+ /**
1705
+ * Update stored custom-field values for one employment family in a single batch. The batch must contain at least one row. Omitted configurations keep their values, and an explicit null is stored.
1706
+ */
1707
+ export type PeopleEmploymentCustomFieldsUpdateParameters = {
1708
+ /**
1709
+ * Required, nonempty list of configurations and their replacement values. Each configuration may appear only once.
1710
+ */
1711
+ custom_fields: Array<{
1712
+ /**
1713
+ * ID of a custom-field configuration owned by the credential company and applicable to employments. A hidden configuration may be updated only when the family already stores its value.
1714
+ */
1715
+ custom_field_config_id: string;
1716
+ /**
1717
+ * Replacement value as text or null. Null stores a value rather than removing the row.
1718
+ */
1719
+ value: string | null;
1720
+ }>;
1721
+ };
1630
1722
  export type PeopleEmploymentHistoryCorrectionObject = {
1631
1723
  /**
1632
1724
  * Family key shared by every entry on this timeline — the same identity the member route addresses. An entry carries no identifier of its own; versions are distinguished by their window coordinates.
@@ -3534,7 +3626,7 @@ export type JobResponseObject = {
3534
3626
  */
3535
3627
  require_clock_in: boolean;
3536
3628
  /**
3537
- * Clock-in enforcement level: one of none (no guidance), warning (compliance warning on manual entries), or required (hard stop for technician web CUD and GraphQL owner CUD, including client-claimed punches, until a server-verified punch path exists; company-authed API v1 is intentionally ungated).
3629
+ * Clock-in enforcement level stored on the job: one of none (no guidance), warning (manual time entries fail the clock-in compliance check), or required (a technician's own time on the job must come from clocking in on DSPTCH Mobile; the technician's own web and user-API-key time-entry writes are refused). A time entry whose time code, as of the entry's start time, is PTO, holiday, or restricted to non-job time entries is exempt at every level. Time-entry writes made with a company API key are not gated. A company-wide clock-in requirement on the time entry's company can make that entry's requirement stricter than this value.
3538
3630
  */
3539
3631
  clock_in_requirement: 'none' | 'warning' | 'required';
3540
3632
  /**
@@ -3808,7 +3900,7 @@ export type JobParameters = {
3808
3900
  tz_name?: string;
3809
3901
  time_card_start_day?: TimeCardStartDay;
3810
3902
  /**
3811
- * Clock-in enforcement level: one of none (no guidance), warning (compliance warning on manual entries), or required (hard stop for technician web CUD and GraphQL owner CUD, including client-claimed punches, until a server-verified punch path exists; company-authed API v1 is intentionally ungated). Omit the field to leave the current value unchanged.
3903
+ * Clock-in enforcement level: one of none (no guidance), warning (manual time entries fail the clock-in compliance check), or required (a technician's own time on the job must come from clocking in on DSPTCH Mobile; the technician's own web and user-API-key time-entry writes are refused). A time entry whose time code, as of the entry's start time, is PTO, holiday, or restricted to non-job time entries is exempt at every level. Time-entry writes made with a company API key are not gated. While the creating company requires clock-in company-wide, a create stores `required` whatever value is sent, and lowering an open job returns 422 with the error at `#/clock_in_requirement`. Omit the field to leave the current value unchanged.
3812
3904
  */
3813
3905
  clock_in_requirement?: 'none' | 'warning' | 'required';
3814
3906
  /**
@@ -5634,7 +5726,7 @@ export type AggregateTimeImportResponseObject = {
5634
5726
  /**
5635
5727
  * Where the import has got to. `pending` until the background job starts, then `success` or `failed`.
5636
5728
  */
5637
- status: 'pending' | 'processing' | 'processed' | 'success' | 'failed';
5729
+ status: 'pending' | 'processing' | 'processed' | 'success' | 'failed' | 'superseded';
5638
5730
  /**
5639
5731
  * How many rows passed validation and were prepared for writing. On a `success` import that is also how many rows were written. On a `failed` one it is not — the import writes all of its rows in a single transaction, so a failure part-way through undoes every write already made while this count still reports every row that had been prepared.
5640
5732
  */
@@ -5684,7 +5776,7 @@ export type DsptchCprImportResponseObject = {
5684
5776
  /**
5685
5777
  * Where the import has got to. `pending` until the background job starts, then `success` or `failed`.
5686
5778
  */
5687
- status: 'pending' | 'processing' | 'processed' | 'success' | 'failed';
5779
+ status: 'pending' | 'processing' | 'processed' | 'success' | 'failed' | 'superseded';
5688
5780
  /**
5689
5781
  * How many rows passed validation and were prepared for writing. On a `success` import that is also how many rows were written. On a `failed` one it is not — the import writes all of its rows in a single transaction, so a failure part-way through undoes every write already made while this count still reports every row that had been prepared.
5690
5782
  */
@@ -5734,7 +5826,7 @@ export type PaystubImportResponseObject = {
5734
5826
  /**
5735
5827
  * Where the import has got to. `pending` until the background job starts, then `success` or `failed`.
5736
5828
  */
5737
- status: 'pending' | 'processing' | 'processed' | 'success' | 'failed';
5829
+ status: 'pending' | 'processing' | 'processed' | 'success' | 'failed' | 'superseded';
5738
5830
  /**
5739
5831
  * How many rows passed validation and were prepared for writing. On a `success` import that is also how many rows were written. On a `failed` one it is not — the import writes all of its rows in a single transaction, so a failure part-way through undoes every write already made while this count still reports every row that had been prepared.
5740
5832
  */
@@ -5784,7 +5876,7 @@ export type TimeEntryImportResponseObject = {
5784
5876
  /**
5785
5877
  * Where the import has got to. `pending` until the background job starts, then `success` or `failed`.
5786
5878
  */
5787
- status: 'pending' | 'processing' | 'processed' | 'success' | 'failed';
5879
+ status: 'pending' | 'processing' | 'processed' | 'success' | 'failed' | 'superseded';
5788
5880
  /**
5789
5881
  * How many rows passed validation and were prepared for writing. On a `success` import that is also how many rows were written. On a `failed` one it is not — the import writes all of its rows in a single transaction, so a failure part-way through undoes every write already made while this count still reports every row that had been prepared.
5790
5882
  */
@@ -12517,6 +12609,40 @@ export type ListAllocationsResponses = {
12517
12609
  };
12518
12610
  };
12519
12611
  export type ListAllocationsResponse = ListAllocationsResponses[keyof ListAllocationsResponses];
12612
+ export type CreateAllocationData = {
12613
+ body: ApprenticeshipAllocationCreateParameters;
12614
+ path: {
12615
+ apprentice_id: string;
12616
+ };
12617
+ query?: never;
12618
+ url: '/api/v1/apprenticeship/apprentices/{apprentice_id}/allocations';
12619
+ };
12620
+ export type CreateAllocationErrors = {
12621
+ /**
12622
+ * Bad Request
12623
+ */
12624
+ 400: Problem;
12625
+ /**
12626
+ * Forbidden
12627
+ */
12628
+ 403: Problem;
12629
+ /**
12630
+ * Not Found
12631
+ */
12632
+ 404: Problem;
12633
+ /**
12634
+ * Unprocessable Content
12635
+ */
12636
+ 422: Problem;
12637
+ };
12638
+ export type CreateAllocationError = CreateAllocationErrors[keyof CreateAllocationErrors];
12639
+ export type CreateAllocationResponses = {
12640
+ /**
12641
+ * Created
12642
+ */
12643
+ 201: ApprenticeshipAllocationResponseObject;
12644
+ };
12645
+ export type CreateAllocationResponse = CreateAllocationResponses[keyof CreateAllocationResponses];
12520
12646
  export type GetAllocationData = {
12521
12647
  body?: never;
12522
12648
  path: {
@@ -19804,6 +19930,7 @@ export type ListAggregateTimeImportsData = {
19804
19930
  * * `processed`
19805
19931
  * * `success`
19806
19932
  * * `failed`
19933
+ * * `superseded`
19807
19934
  *
19808
19935
  */
19809
19936
  'filter[status]'?: string;
@@ -19932,6 +20059,7 @@ export type ListDsptchCprImportsData = {
19932
20059
  * * `processed`
19933
20060
  * * `success`
19934
20061
  * * `failed`
20062
+ * * `superseded`
19935
20063
  *
19936
20064
  */
19937
20065
  'filter[status]'?: string;
@@ -20060,6 +20188,7 @@ export type ListTimeEntryImportsData = {
20060
20188
  * * `processed`
20061
20189
  * * `success`
20062
20190
  * * `failed`
20191
+ * * `superseded`
20063
20192
  *
20064
20193
  */
20065
20194
  'filter[status]'?: string;
@@ -20582,6 +20711,7 @@ export type ListPaystubImportsData = {
20582
20711
  * * `processed`
20583
20712
  * * `success`
20584
20713
  * * `failed`
20714
+ * * `superseded`
20585
20715
  *
20586
20716
  */
20587
20717
  'filter[status]'?: string;
@@ -21198,6 +21328,84 @@ export type UpdatePaystubResponses = {
21198
21328
  200: PaystubResponseObject;
21199
21329
  };
21200
21330
  export type UpdatePaystubResponse = UpdatePaystubResponses[keyof UpdatePaystubResponses];
21331
+ export type ListCustomFieldsData = {
21332
+ body?: never;
21333
+ path: {
21334
+ employment_id: string;
21335
+ };
21336
+ query?: never;
21337
+ url: '/api/v1/people/employments/{employment_id}/custom_fields';
21338
+ };
21339
+ export type ListCustomFieldsErrors = {
21340
+ /**
21341
+ * Forbidden
21342
+ */
21343
+ 403: Problem;
21344
+ /**
21345
+ * Not Found
21346
+ */
21347
+ 404: Problem;
21348
+ };
21349
+ export type ListCustomFieldsError = ListCustomFieldsErrors[keyof ListCustomFieldsErrors];
21350
+ export type ListCustomFieldsResponses = {
21351
+ /**
21352
+ * Success
21353
+ */
21354
+ 200: {
21355
+ data: Array<PeopleEmploymentCustomFieldResponseObject>;
21356
+ };
21357
+ };
21358
+ export type ListCustomFieldsResponse = ListCustomFieldsResponses[keyof ListCustomFieldsResponses];
21359
+ export type UpdateCustomFieldData = {
21360
+ body: PeopleEmploymentCustomFieldsUpdateParameters;
21361
+ headers: {
21362
+ /**
21363
+ * Version validator this write is composed against.
21364
+ */
21365
+ 'If-Match': string;
21366
+ };
21367
+ path: {
21368
+ employment_id: string;
21369
+ };
21370
+ query?: never;
21371
+ url: '/api/v1/people/employments/{employment_id}/custom_fields';
21372
+ };
21373
+ export type UpdateCustomFieldErrors = {
21374
+ /**
21375
+ * Bad Request
21376
+ */
21377
+ 400: Problem;
21378
+ /**
21379
+ * Forbidden
21380
+ */
21381
+ 403: Problem;
21382
+ /**
21383
+ * Not Found
21384
+ */
21385
+ 404: Problem;
21386
+ /**
21387
+ * Precondition Failed
21388
+ */
21389
+ 412: Problem;
21390
+ /**
21391
+ * Unprocessable Content
21392
+ */
21393
+ 422: Problem;
21394
+ /**
21395
+ * Precondition Required
21396
+ */
21397
+ 428: Problem;
21398
+ };
21399
+ export type UpdateCustomFieldError = UpdateCustomFieldErrors[keyof UpdateCustomFieldErrors];
21400
+ export type UpdateCustomFieldResponses = {
21401
+ /**
21402
+ * Success
21403
+ */
21404
+ 200: {
21405
+ data: Array<PeopleEmploymentCustomFieldResponseObject>;
21406
+ };
21407
+ };
21408
+ export type UpdateCustomFieldResponse = UpdateCustomFieldResponses[keyof UpdateCustomFieldResponses];
21201
21409
  export type UpdateGenesisData = {
21202
21410
  body: PeopleEmploymentGenesisParameters;
21203
21411
  headers: {
@@ -21691,6 +21899,53 @@ export type CreateEmploymentResponses = {
21691
21899
  201: PeopleEmploymentResponseObject;
21692
21900
  };
21693
21901
  export type CreateEmploymentResponse = CreateEmploymentResponses[keyof CreateEmploymentResponses];
21902
+ export type DeleteEmploymentData = {
21903
+ body?: never;
21904
+ headers: {
21905
+ /**
21906
+ * Version validator for the whole employment family, or `*` to remove its current state.
21907
+ */
21908
+ 'If-Match': string;
21909
+ };
21910
+ path: {
21911
+ /**
21912
+ * The employment stint identity returned as `id`.
21913
+ */
21914
+ id: string;
21915
+ };
21916
+ query?: never;
21917
+ url: '/api/v1/people/employments/{id}';
21918
+ };
21919
+ export type DeleteEmploymentErrors = {
21920
+ /**
21921
+ * Forbidden
21922
+ */
21923
+ 403: Problem;
21924
+ /**
21925
+ * Not Found
21926
+ */
21927
+ 404: Problem;
21928
+ /**
21929
+ * Precondition Failed
21930
+ */
21931
+ 412: Problem;
21932
+ /**
21933
+ * Unprocessable Content
21934
+ */
21935
+ 422: Problem;
21936
+ /**
21937
+ * Precondition Required
21938
+ */
21939
+ 428: Problem;
21940
+ };
21941
+ export type DeleteEmploymentError = DeleteEmploymentErrors[keyof DeleteEmploymentErrors];
21942
+ export type DeleteEmploymentResponses = {
21943
+ /**
21944
+ * Success
21945
+ */
21946
+ 200: PeopleEmploymentResponseObject;
21947
+ };
21948
+ export type DeleteEmploymentResponse = DeleteEmploymentResponses[keyof DeleteEmploymentResponses];
21694
21949
  export type GetEmploymentData = {
21695
21950
  body?: never;
21696
21951
  path: {
@@ -21725,6 +21980,57 @@ export type GetEmploymentResponses = {
21725
21980
  200: PeopleEmploymentResponseObject;
21726
21981
  };
21727
21982
  export type GetEmploymentResponse = GetEmploymentResponses[keyof GetEmploymentResponses];
21983
+ export type UpdateEmploymentData = {
21984
+ body: PeopleEmploymentUpdateParameters;
21985
+ headers: {
21986
+ /**
21987
+ * Version validator for the whole employment family, or `*` for its current state.
21988
+ */
21989
+ 'If-Match': string;
21990
+ };
21991
+ path: {
21992
+ /**
21993
+ * The employment stint identity returned as `id`.
21994
+ */
21995
+ id: string;
21996
+ };
21997
+ query?: never;
21998
+ url: '/api/v1/people/employments/{id}';
21999
+ };
22000
+ export type UpdateEmploymentErrors = {
22001
+ /**
22002
+ * Bad Request
22003
+ */
22004
+ 400: Problem;
22005
+ /**
22006
+ * Forbidden
22007
+ */
22008
+ 403: Problem;
22009
+ /**
22010
+ * Not Found
22011
+ */
22012
+ 404: Problem;
22013
+ /**
22014
+ * Precondition Failed
22015
+ */
22016
+ 412: Problem;
22017
+ /**
22018
+ * Unprocessable Content
22019
+ */
22020
+ 422: Problem;
22021
+ /**
22022
+ * Precondition Required
22023
+ */
22024
+ 428: Problem;
22025
+ };
22026
+ export type UpdateEmploymentError = UpdateEmploymentErrors[keyof UpdateEmploymentErrors];
22027
+ export type UpdateEmploymentResponses = {
22028
+ /**
22029
+ * Success
22030
+ */
22031
+ 200: PeopleEmploymentResponseObject;
22032
+ };
22033
+ export type UpdateEmploymentResponse = UpdateEmploymentResponses[keyof UpdateEmploymentResponses];
21728
22034
  export type ListPerDiemsData = {
21729
22035
  body?: never;
21730
22036
  path?: never;