@dsptch-work/api-client 0.21.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.
@@ -383,7 +383,7 @@ export type DirectUploadParameters = {
383
383
  /**
384
384
  * What the file is for, named as the endpoint that will attach it (for example `assets.vendors`). Required. It decides where the file is stored, and the signed ID this call returns is issued for that resource alone — it will not resolve at any other endpoint, so a vendor logo cannot be attached as an avatar, or an avatar as a logo.
385
385
  */
386
- resource: 'assets.items' | 'assets.items.documents' | 'assets.items.service_events' | 'assets.products' | 'assets.vendors' | 'compliance.checks' | 'pay_periods.imports.aggregate_times' | 'pay_periods.imports.dsptch_cprs' | 'pay_periods.imports.time_entries' | 'payrolls.payroll_runs.imports.paystubs' | 'users';
386
+ resource: 'assets.items' | 'assets.items.documents' | 'assets.items.service_events' | 'assets.products' | 'assets.vendors' | 'compliance.checks' | 'internal.company_todos' | 'internal.job_todos' | 'internal.project_todos' | 'pay_periods.imports.aggregate_times' | 'pay_periods.imports.dsptch_cprs' | 'pay_periods.imports.time_entries' | 'payrolls.payroll_runs.imports.paystubs' | 'users';
387
387
  /**
388
388
  * Metadata describing the file being registered, before its bytes are uploaded.
389
389
  */
@@ -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
  };
@@ -1430,6 +1467,258 @@ export type PeopleEmploymentResponseObject = {
1430
1467
  */
1431
1468
  updated_at: string;
1432
1469
  };
1470
+ /**
1471
+ * Create a distinct employment stint for an existing user in the credential company. Only user_id and hire_date are required; omitted optional fields use the defaults or null values described below. This does not create a user, invitation, role, group, or login identity.
1472
+ */
1473
+ export type PeopleEmploymentCreateParameters = {
1474
+ /**
1475
+ * ID of the existing user to employ. Required; the endpoint returns `404` when the user does not exist.
1476
+ */
1477
+ user_id: string;
1478
+ /**
1479
+ * First day of the stint, as a calendar date (`YYYY-MM-DD`). Required; interpreted at midnight in the credential company's time zone. A value carrying a time component is refused with `422` rather than truncated.
1480
+ */
1481
+ hire_date: string;
1482
+ /**
1483
+ * Whether the relationship is `EMPLOYEE` or `CONTRACTOR`. Omit to use `EMPLOYEE`; null is not accepted.
1484
+ */
1485
+ type?: 'EMPLOYEE' | 'CONTRACTOR';
1486
+ /**
1487
+ * Employment title. Omit or send null to leave it unset; blank text is stored as null.
1488
+ */
1489
+ title?: string | null;
1490
+ /**
1491
+ * ID of the user's manager. Omit or send null for no manager; a supplied ID must identify an existing user.
1492
+ */
1493
+ manager_user_id?: string | null;
1494
+ /**
1495
+ * Identifier for this worker in the company's payroll system. Omit or send null to leave it unset; blank text is stored as null.
1496
+ */
1497
+ payroll_id?: string | null;
1498
+ /**
1499
+ * Whether the employment participates in time and attendance. Omit to use true; null is not accepted.
1500
+ */
1501
+ enrolled_in_t_and_a?: boolean;
1502
+ /**
1503
+ * How the worker is paid: `hourly` or `salary`. Omit to use `hourly`; null is not accepted.
1504
+ */
1505
+ compensation_type?: 'hourly' | 'salary';
1506
+ /**
1507
+ * Base hourly pay in cents as a decimal string. Omit or send null to leave it unset.
1508
+ */
1509
+ hourly_rate_cents?: string | null;
1510
+ /**
1511
+ * Whether the employment is eligible for overtime. Omit to use true; send null to leave eligibility unset. Must be true when overtime_package_id is supplied.
1512
+ */
1513
+ overtime_eligible?: boolean | null;
1514
+ /**
1515
+ * ID of the overtime package assigned to this employment. Omit or send null for no package; a supplied ID must belong to the credential company and requires overtime_eligible to be true.
1516
+ */
1517
+ overtime_package_id?: string | null;
1518
+ /**
1519
+ * Annualized worked minutes. Omit or send null to leave it unset; otherwise must be between 0 and the number of minutes in one year.
1520
+ */
1521
+ worked_annual_minutes?: number | null;
1522
+ /**
1523
+ * Annual paid-time-off minutes. Omit or send null to leave it unset; otherwise must be between 0 and the number of minutes in one year.
1524
+ */
1525
+ pto_annual_minutes?: number | null;
1526
+ /**
1527
+ * Annual holiday minutes. Omit or send null to leave it unset; otherwise must be between 0 and the number of minutes in one year.
1528
+ */
1529
+ holiday_annual_minutes?: number | null;
1530
+ /**
1531
+ * Annual paid training minutes. Omit or send null to leave it unset; otherwise must be between 0 and the number of minutes in one year.
1532
+ */
1533
+ training_annual_minutes?: number | null;
1534
+ /**
1535
+ * Annual training amount in cents as a decimal string. Omit or send null to leave it unset.
1536
+ */
1537
+ training_annual_amount_cents?: string | null;
1538
+ /**
1539
+ * Annual employer health contribution in cents as a decimal string. Omit or send null to leave it unset.
1540
+ */
1541
+ employer_combined_health_amount_cents?: string | null;
1542
+ /**
1543
+ * Annual employer savings and retirement contribution in cents as a decimal string. Omit or send null to leave it unset.
1544
+ */
1545
+ employer_combined_savings_cents?: string | null;
1546
+ };
1547
+ /**
1548
+ * Request body for creating one strictly future employment boundary. effective_date is required and is interpreted at midnight in the credential company's time zone. Send at least one value to change; omitted values carry forward from the version immediately before the new boundary.
1549
+ */
1550
+ export type PeopleEmploymentScheduledChangeCreateParameters = {
1551
+ /**
1552
+ * How the employment is paid: hourly or salary. Omit to carry forward the preceding version.
1553
+ */
1554
+ compensation_type?: 'hourly' | 'salary';
1555
+ /**
1556
+ * Hourly pay in cents as a decimal string. Omit to carry forward the preceding version, or send null to clear it.
1557
+ */
1558
+ hourly_rate_cents?: string | null;
1559
+ /**
1560
+ * Whether the employment is overtime eligible. Omit to carry forward the preceding version, or send null to clear it.
1561
+ */
1562
+ overtime_eligible?: boolean | null;
1563
+ /**
1564
+ * Overtime package ID. Omit to carry forward the preceding version, or send null to clear it.
1565
+ */
1566
+ overtime_package_id?: string | null;
1567
+ /**
1568
+ * Annual worked minutes. Omit to carry forward the preceding version, or send null to clear it.
1569
+ */
1570
+ worked_annual_minutes?: number | null;
1571
+ /**
1572
+ * Annual paid-time-off minutes. Omit to carry forward the preceding version, or send null to clear it.
1573
+ */
1574
+ pto_annual_minutes?: number | null;
1575
+ /**
1576
+ * Annual holiday minutes. Omit to carry forward the preceding version, or send null to clear it.
1577
+ */
1578
+ holiday_annual_minutes?: number | null;
1579
+ /**
1580
+ * Annual training minutes. Omit to carry forward the preceding version, or send null to clear it.
1581
+ */
1582
+ training_annual_minutes?: number | null;
1583
+ /**
1584
+ * Annual training amount in cents as a decimal string. Omit to carry forward the preceding version, or send null to clear it.
1585
+ */
1586
+ training_annual_amount_cents?: string | null;
1587
+ /**
1588
+ * Annual employer health contribution in cents as a decimal string. Omit to carry forward the preceding version, or send null to clear it.
1589
+ */
1590
+ employer_combined_health_amount_cents?: string | null;
1591
+ /**
1592
+ * Annual employer savings contribution in cents as a decimal string. Omit to carry forward the preceding version, or send null to clear it.
1593
+ */
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;
1599
+ /**
1600
+ * Company-local date when the new boundary takes effect. Must be strictly in the future. Required.
1601
+ */
1602
+ effective_date: string;
1603
+ };
1604
+ /**
1605
+ * Request body for changing values at one exact strictly future employment boundary. Send only the fields to change; omitted values remain as recorded at that boundary. The boundary date cannot move.
1606
+ */
1607
+ export type PeopleEmploymentScheduledChangeUpdateParameters = {
1608
+ /**
1609
+ * How the employment is paid: hourly or salary. Omit to preserve the value at the targeted boundary.
1610
+ */
1611
+ compensation_type?: 'hourly' | 'salary';
1612
+ /**
1613
+ * Hourly pay in cents as a decimal string. Omit to preserve the value at the targeted boundary, or send null to clear it.
1614
+ */
1615
+ hourly_rate_cents?: string | null;
1616
+ /**
1617
+ * Whether the employment is overtime eligible. Omit to preserve the value at the targeted boundary, or send null to clear it.
1618
+ */
1619
+ overtime_eligible?: boolean | null;
1620
+ /**
1621
+ * Overtime package ID. Omit to preserve the value at the targeted boundary, or send null to clear it.
1622
+ */
1623
+ overtime_package_id?: string | null;
1624
+ /**
1625
+ * Annual worked minutes. Omit to preserve the value at the targeted boundary, or send null to clear it.
1626
+ */
1627
+ worked_annual_minutes?: number | null;
1628
+ /**
1629
+ * Annual paid-time-off minutes. Omit to preserve the value at the targeted boundary, or send null to clear it.
1630
+ */
1631
+ pto_annual_minutes?: number | null;
1632
+ /**
1633
+ * Annual holiday minutes. Omit to preserve the value at the targeted boundary, or send null to clear it.
1634
+ */
1635
+ holiday_annual_minutes?: number | null;
1636
+ /**
1637
+ * Annual training minutes. Omit to preserve the value at the targeted boundary, or send null to clear it.
1638
+ */
1639
+ training_annual_minutes?: number | null;
1640
+ /**
1641
+ * Annual training amount in cents as a decimal string. Omit to preserve the value at the targeted boundary, or send null to clear it.
1642
+ */
1643
+ training_annual_amount_cents?: string | null;
1644
+ /**
1645
+ * Annual employer health contribution in cents as a decimal string. Omit to preserve the value at the targeted boundary, or send null to clear it.
1646
+ */
1647
+ employer_combined_health_amount_cents?: string | null;
1648
+ /**
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.
1650
+ */
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;
1656
+ };
1657
+ /**
1658
+ * Parameters for moving where an employment stint's valid-time timeline begins.
1659
+ */
1660
+ export type PeopleEmploymentGenesisParameters = {
1661
+ /**
1662
+ * The timeline's new start, as a calendar date (`YYYY-MM-DD`). Required; a value carrying a time component is refused with `422` rather than truncated. Moving it earlier extends the first version back to it. Moving it later drops every version whose coverage ended at or before it and truncates the one spanning it, so what those versions said stops being readable. Refused with `422` when the employment has no finite start or the new start would fall at or after a scheduled termination.
1663
+ */
1664
+ effective_date?: string;
1665
+ };
1666
+ /**
1667
+ * Parameters for scheduling when an employment stint stops being valid.
1668
+ */
1669
+ export type PeopleEmploymentScheduledTerminationParameters = {
1670
+ /**
1671
+ * The exclusive end of the employment's valid-time timeline, as a calendar date (`YYYY-MM-DD`). Required; a value carrying a time component is refused with `422` rather than truncated. Must fall after the employment's genesis. Scheduling removes versions that start on or after the new end and truncates the version spanning it. An employment holds at most one scheduled termination; cancel the standing one before scheduling another. Cancellation reopens the last surviving version and does not restore removed versions.
1672
+ */
1673
+ effective_date: string;
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
+ };
1433
1722
  export type PeopleEmploymentHistoryCorrectionObject = {
1434
1723
  /**
1435
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.
@@ -3337,7 +3626,7 @@ export type JobResponseObject = {
3337
3626
  */
3338
3627
  require_clock_in: boolean;
3339
3628
  /**
3340
- * 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.
3341
3630
  */
3342
3631
  clock_in_requirement: 'none' | 'warning' | 'required';
3343
3632
  /**
@@ -3611,7 +3900,7 @@ export type JobParameters = {
3611
3900
  tz_name?: string;
3612
3901
  time_card_start_day?: TimeCardStartDay;
3613
3902
  /**
3614
- * 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.
3615
3904
  */
3616
3905
  clock_in_requirement?: 'none' | 'warning' | 'required';
3617
3906
  /**
@@ -5437,7 +5726,7 @@ export type AggregateTimeImportResponseObject = {
5437
5726
  /**
5438
5727
  * Where the import has got to. `pending` until the background job starts, then `success` or `failed`.
5439
5728
  */
5440
- status: 'pending' | 'processing' | 'processed' | 'success' | 'failed';
5729
+ status: 'pending' | 'processing' | 'processed' | 'success' | 'failed' | 'superseded';
5441
5730
  /**
5442
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.
5443
5732
  */
@@ -5487,7 +5776,7 @@ export type DsptchCprImportResponseObject = {
5487
5776
  /**
5488
5777
  * Where the import has got to. `pending` until the background job starts, then `success` or `failed`.
5489
5778
  */
5490
- status: 'pending' | 'processing' | 'processed' | 'success' | 'failed';
5779
+ status: 'pending' | 'processing' | 'processed' | 'success' | 'failed' | 'superseded';
5491
5780
  /**
5492
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.
5493
5782
  */
@@ -5537,7 +5826,7 @@ export type PaystubImportResponseObject = {
5537
5826
  /**
5538
5827
  * Where the import has got to. `pending` until the background job starts, then `success` or `failed`.
5539
5828
  */
5540
- status: 'pending' | 'processing' | 'processed' | 'success' | 'failed';
5829
+ status: 'pending' | 'processing' | 'processed' | 'success' | 'failed' | 'superseded';
5541
5830
  /**
5542
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.
5543
5832
  */
@@ -5587,7 +5876,7 @@ export type TimeEntryImportResponseObject = {
5587
5876
  /**
5588
5877
  * Where the import has got to. `pending` until the background job starts, then `success` or `failed`.
5589
5878
  */
5590
- status: 'pending' | 'processing' | 'processed' | 'success' | 'failed';
5879
+ status: 'pending' | 'processing' | 'processed' | 'success' | 'failed' | 'superseded';
5591
5880
  /**
5592
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.
5593
5882
  */
@@ -12320,6 +12609,40 @@ export type ListAllocationsResponses = {
12320
12609
  };
12321
12610
  };
12322
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];
12323
12646
  export type GetAllocationData = {
12324
12647
  body?: never;
12325
12648
  path: {
@@ -19607,6 +19930,7 @@ export type ListAggregateTimeImportsData = {
19607
19930
  * * `processed`
19608
19931
  * * `success`
19609
19932
  * * `failed`
19933
+ * * `superseded`
19610
19934
  *
19611
19935
  */
19612
19936
  'filter[status]'?: string;
@@ -19735,6 +20059,7 @@ export type ListDsptchCprImportsData = {
19735
20059
  * * `processed`
19736
20060
  * * `success`
19737
20061
  * * `failed`
20062
+ * * `superseded`
19738
20063
  *
19739
20064
  */
19740
20065
  'filter[status]'?: string;
@@ -19863,6 +20188,7 @@ export type ListTimeEntryImportsData = {
19863
20188
  * * `processed`
19864
20189
  * * `success`
19865
20190
  * * `failed`
20191
+ * * `superseded`
19866
20192
  *
19867
20193
  */
19868
20194
  'filter[status]'?: string;
@@ -20385,6 +20711,7 @@ export type ListPaystubImportsData = {
20385
20711
  * * `processed`
20386
20712
  * * `success`
20387
20713
  * * `failed`
20714
+ * * `superseded`
20388
20715
  *
20389
20716
  */
20390
20717
  'filter[status]'?: string;
@@ -21001,50 +21328,179 @@ export type UpdatePaystubResponses = {
21001
21328
  200: PaystubResponseObject;
21002
21329
  };
21003
21330
  export type UpdatePaystubResponse = UpdatePaystubResponses[keyof UpdatePaystubResponses];
21004
- export type ListEmploymentHistoryData = {
21331
+ export type ListCustomFieldsData = {
21005
21332
  body?: never;
21006
21333
  path: {
21007
21334
  employment_id: string;
21008
21335
  };
21009
- query?: {
21010
- 'as_of[valid]'?: string;
21011
- 'as_of[transaction]'?: string;
21012
- /**
21013
- * This pagination cursor corresponds to the cursor value found in the response in
21014
- * `meta.page.next_cursor`.
21015
- */
21016
- 'page[cursor]'?: string;
21017
- /**
21018
- * Maximum number of records to return per page. Defaults to 20. A value above 100 is capped to 100 rather than rejected; a value that is zero, negative, or not an integer is rejected with a `400`.
21019
- */
21020
- 'page[limit]'?: number;
21021
- page?: string;
21022
- };
21023
- url: '/api/v1/people/employments/{employment_id}/history';
21336
+ query?: never;
21337
+ url: '/api/v1/people/employments/{employment_id}/custom_fields';
21024
21338
  };
21025
- export type ListEmploymentHistoryErrors = {
21026
- /**
21027
- * Bad Request
21028
- */
21029
- 400: Problem;
21339
+ export type ListCustomFieldsErrors = {
21030
21340
  /**
21031
21341
  * Forbidden
21032
21342
  */
21033
21343
  403: Problem;
21034
21344
  /**
21035
- * Not Found for an unknown employment
21345
+ * Not Found
21036
21346
  */
21037
21347
  404: Problem;
21038
21348
  };
21039
- export type ListEmploymentHistoryError = ListEmploymentHistoryErrors[keyof ListEmploymentHistoryErrors];
21040
- export type ListEmploymentHistoryResponses = {
21349
+ export type ListCustomFieldsError = ListCustomFieldsErrors[keyof ListCustomFieldsErrors];
21350
+ export type ListCustomFieldsResponses = {
21041
21351
  /**
21042
21352
  * Success
21043
21353
  */
21044
21354
  200: {
21045
- meta: Meta;
21046
- links: Links;
21047
- data: Array<PeopleEmploymentHistoryVersionObject>;
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];
21409
+ export type UpdateGenesisData = {
21410
+ body: PeopleEmploymentGenesisParameters;
21411
+ headers: {
21412
+ /**
21413
+ * Version validator for the whole employment family, or `*` for its current state.
21414
+ */
21415
+ 'If-Match': string;
21416
+ };
21417
+ path: {
21418
+ /**
21419
+ * The employment stint identity returned as `id`.
21420
+ */
21421
+ employment_id: string;
21422
+ };
21423
+ query?: never;
21424
+ url: '/api/v1/people/employments/{employment_id}/genesis';
21425
+ };
21426
+ export type UpdateGenesisErrors = {
21427
+ /**
21428
+ * Bad Request
21429
+ */
21430
+ 400: Problem;
21431
+ /**
21432
+ * Forbidden
21433
+ */
21434
+ 403: Problem;
21435
+ /**
21436
+ * Not Found
21437
+ */
21438
+ 404: Problem;
21439
+ /**
21440
+ * Precondition Failed
21441
+ */
21442
+ 412: Problem;
21443
+ /**
21444
+ * Unprocessable Content
21445
+ */
21446
+ 422: Problem;
21447
+ /**
21448
+ * Precondition Required
21449
+ */
21450
+ 428: Problem;
21451
+ };
21452
+ export type UpdateGenesisError = UpdateGenesisErrors[keyof UpdateGenesisErrors];
21453
+ export type UpdateGenesisResponses = {
21454
+ /**
21455
+ * Success
21456
+ */
21457
+ 200: PeopleEmploymentResponseObject;
21458
+ };
21459
+ export type UpdateGenesisResponse = UpdateGenesisResponses[keyof UpdateGenesisResponses];
21460
+ export type ListEmploymentHistoryData = {
21461
+ body?: never;
21462
+ path: {
21463
+ employment_id: string;
21464
+ };
21465
+ query?: {
21466
+ 'as_of[valid]'?: string;
21467
+ 'as_of[transaction]'?: string;
21468
+ /**
21469
+ * This pagination cursor corresponds to the cursor value found in the response in
21470
+ * `meta.page.next_cursor`.
21471
+ */
21472
+ 'page[cursor]'?: string;
21473
+ /**
21474
+ * Maximum number of records to return per page. Defaults to 20. A value above 100 is capped to 100 rather than rejected; a value that is zero, negative, or not an integer is rejected with a `400`.
21475
+ */
21476
+ 'page[limit]'?: number;
21477
+ page?: string;
21478
+ };
21479
+ url: '/api/v1/people/employments/{employment_id}/history';
21480
+ };
21481
+ export type ListEmploymentHistoryErrors = {
21482
+ /**
21483
+ * Bad Request
21484
+ */
21485
+ 400: Problem;
21486
+ /**
21487
+ * Forbidden
21488
+ */
21489
+ 403: Problem;
21490
+ /**
21491
+ * Not Found for an unknown employment
21492
+ */
21493
+ 404: Problem;
21494
+ };
21495
+ export type ListEmploymentHistoryError = ListEmploymentHistoryErrors[keyof ListEmploymentHistoryErrors];
21496
+ export type ListEmploymentHistoryResponses = {
21497
+ /**
21498
+ * Success
21499
+ */
21500
+ 200: {
21501
+ meta: Meta;
21502
+ links: Links;
21503
+ data: Array<PeopleEmploymentHistoryVersionObject>;
21048
21504
  };
21049
21505
  };
21050
21506
  export type ListEmploymentHistoryResponse = ListEmploymentHistoryResponses[keyof ListEmploymentHistoryResponses];
@@ -21095,6 +21551,265 @@ export type ListEmploymentsHistoryResponses = {
21095
21551
  };
21096
21552
  };
21097
21553
  export type ListEmploymentsHistoryResponse = ListEmploymentsHistoryResponses[keyof ListEmploymentsHistoryResponses];
21554
+ export type CreateEmploymentScheduledChangeData = {
21555
+ body: PeopleEmploymentScheduledChangeCreateParameters;
21556
+ headers: {
21557
+ /**
21558
+ * Version validator this write is composed against.
21559
+ */
21560
+ 'If-Match': string;
21561
+ };
21562
+ path: {
21563
+ /**
21564
+ * The employment stint identity returned as `id`.
21565
+ */
21566
+ employment_id: string;
21567
+ };
21568
+ query?: never;
21569
+ url: '/api/v1/people/employments/{employment_id}/scheduled_changes';
21570
+ };
21571
+ export type CreateEmploymentScheduledChangeErrors = {
21572
+ /**
21573
+ * Bad Request
21574
+ */
21575
+ 400: Problem;
21576
+ /**
21577
+ * Forbidden
21578
+ */
21579
+ 403: Problem;
21580
+ /**
21581
+ * Not Found
21582
+ */
21583
+ 404: Problem;
21584
+ /**
21585
+ * Conflict
21586
+ */
21587
+ 409: Problem;
21588
+ /**
21589
+ * Precondition Failed
21590
+ */
21591
+ 412: Problem;
21592
+ /**
21593
+ * Unprocessable Content
21594
+ */
21595
+ 422: Problem;
21596
+ /**
21597
+ * Precondition Required
21598
+ */
21599
+ 428: Problem;
21600
+ };
21601
+ export type CreateEmploymentScheduledChangeError = CreateEmploymentScheduledChangeErrors[keyof CreateEmploymentScheduledChangeErrors];
21602
+ export type CreateEmploymentScheduledChangeResponses = {
21603
+ /**
21604
+ * Created
21605
+ */
21606
+ 201: PeopleEmploymentResponseObject;
21607
+ };
21608
+ export type CreateEmploymentScheduledChangeResponse = CreateEmploymentScheduledChangeResponses[keyof CreateEmploymentScheduledChangeResponses];
21609
+ export type DeleteEmploymentScheduledChangeData = {
21610
+ body?: never;
21611
+ headers: {
21612
+ /**
21613
+ * Version validator this write is composed against.
21614
+ */
21615
+ 'If-Match': string;
21616
+ };
21617
+ path: {
21618
+ /**
21619
+ * The employment stint identity returned as `id`.
21620
+ */
21621
+ employment_id: string;
21622
+ /**
21623
+ * The existing strictly future boundary, as a company-local date.
21624
+ */
21625
+ effective_date: string;
21626
+ };
21627
+ query?: never;
21628
+ url: '/api/v1/people/employments/{employment_id}/scheduled_changes/{effective_date}';
21629
+ };
21630
+ export type DeleteEmploymentScheduledChangeErrors = {
21631
+ /**
21632
+ * Forbidden
21633
+ */
21634
+ 403: Problem;
21635
+ /**
21636
+ * Not Found
21637
+ */
21638
+ 404: Problem;
21639
+ /**
21640
+ * Precondition Failed
21641
+ */
21642
+ 412: Problem;
21643
+ /**
21644
+ * Precondition Required
21645
+ */
21646
+ 428: Problem;
21647
+ };
21648
+ export type DeleteEmploymentScheduledChangeError = DeleteEmploymentScheduledChangeErrors[keyof DeleteEmploymentScheduledChangeErrors];
21649
+ export type DeleteEmploymentScheduledChangeResponses = {
21650
+ /**
21651
+ * No Content
21652
+ */
21653
+ 204: void;
21654
+ };
21655
+ export type DeleteEmploymentScheduledChangeResponse = DeleteEmploymentScheduledChangeResponses[keyof DeleteEmploymentScheduledChangeResponses];
21656
+ export type UpdateEmploymentScheduledChangeData = {
21657
+ body: PeopleEmploymentScheduledChangeUpdateParameters;
21658
+ headers: {
21659
+ /**
21660
+ * Version validator this write is composed against.
21661
+ */
21662
+ 'If-Match': string;
21663
+ };
21664
+ path: {
21665
+ /**
21666
+ * The employment stint identity returned as `id`.
21667
+ */
21668
+ employment_id: string;
21669
+ /**
21670
+ * The existing strictly future boundary, as a company-local date.
21671
+ */
21672
+ effective_date: string;
21673
+ };
21674
+ query?: never;
21675
+ url: '/api/v1/people/employments/{employment_id}/scheduled_changes/{effective_date}';
21676
+ };
21677
+ export type UpdateEmploymentScheduledChangeErrors = {
21678
+ /**
21679
+ * Bad Request
21680
+ */
21681
+ 400: Problem;
21682
+ /**
21683
+ * Forbidden
21684
+ */
21685
+ 403: Problem;
21686
+ /**
21687
+ * Not Found
21688
+ */
21689
+ 404: Problem;
21690
+ /**
21691
+ * Precondition Failed
21692
+ */
21693
+ 412: Problem;
21694
+ /**
21695
+ * Unprocessable Content
21696
+ */
21697
+ 422: Problem;
21698
+ /**
21699
+ * Precondition Required
21700
+ */
21701
+ 428: Problem;
21702
+ };
21703
+ export type UpdateEmploymentScheduledChangeError = UpdateEmploymentScheduledChangeErrors[keyof UpdateEmploymentScheduledChangeErrors];
21704
+ export type UpdateEmploymentScheduledChangeResponses = {
21705
+ /**
21706
+ * Success
21707
+ */
21708
+ 200: PeopleEmploymentResponseObject;
21709
+ };
21710
+ export type UpdateEmploymentScheduledChangeResponse = UpdateEmploymentScheduledChangeResponses[keyof UpdateEmploymentScheduledChangeResponses];
21711
+ export type DeleteScheduledTerminationData = {
21712
+ body?: never;
21713
+ headers: {
21714
+ /**
21715
+ * Version validator for the whole employment family, or `*` to write against its current state.
21716
+ */
21717
+ 'If-Match': string;
21718
+ };
21719
+ path: {
21720
+ /**
21721
+ * The employment stint identity returned as `id`.
21722
+ */
21723
+ employment_id: string;
21724
+ };
21725
+ query?: never;
21726
+ url: '/api/v1/people/employments/{employment_id}/scheduled_termination';
21727
+ };
21728
+ export type DeleteScheduledTerminationErrors = {
21729
+ /**
21730
+ * Forbidden
21731
+ */
21732
+ 403: Problem;
21733
+ /**
21734
+ * Not Found
21735
+ */
21736
+ 404: Problem;
21737
+ /**
21738
+ * Precondition Failed
21739
+ */
21740
+ 412: Problem;
21741
+ /**
21742
+ * Unprocessable Content
21743
+ */
21744
+ 422: Problem;
21745
+ /**
21746
+ * Precondition Required
21747
+ */
21748
+ 428: Problem;
21749
+ };
21750
+ export type DeleteScheduledTerminationError = DeleteScheduledTerminationErrors[keyof DeleteScheduledTerminationErrors];
21751
+ export type DeleteScheduledTerminationResponses = {
21752
+ /**
21753
+ * Success
21754
+ */
21755
+ 200: PeopleEmploymentResponseObject;
21756
+ };
21757
+ export type DeleteScheduledTerminationResponse = DeleteScheduledTerminationResponses[keyof DeleteScheduledTerminationResponses];
21758
+ export type CreateEmploymentScheduledTerminationData = {
21759
+ body: PeopleEmploymentScheduledTerminationParameters;
21760
+ headers: {
21761
+ /**
21762
+ * Version validator for the whole employment family, or `*` to write against its current state.
21763
+ */
21764
+ 'If-Match': string;
21765
+ };
21766
+ path: {
21767
+ /**
21768
+ * The employment stint identity returned as `id`.
21769
+ */
21770
+ employment_id: string;
21771
+ };
21772
+ query?: never;
21773
+ url: '/api/v1/people/employments/{employment_id}/scheduled_termination';
21774
+ };
21775
+ export type CreateEmploymentScheduledTerminationErrors = {
21776
+ /**
21777
+ * Bad Request
21778
+ */
21779
+ 400: Problem;
21780
+ /**
21781
+ * Forbidden
21782
+ */
21783
+ 403: Problem;
21784
+ /**
21785
+ * Not Found
21786
+ */
21787
+ 404: Problem;
21788
+ /**
21789
+ * Conflict
21790
+ */
21791
+ 409: Problem;
21792
+ /**
21793
+ * Precondition Failed
21794
+ */
21795
+ 412: Problem;
21796
+ /**
21797
+ * Unprocessable Content
21798
+ */
21799
+ 422: Problem;
21800
+ /**
21801
+ * Precondition Required
21802
+ */
21803
+ 428: Problem;
21804
+ };
21805
+ export type CreateEmploymentScheduledTerminationError = CreateEmploymentScheduledTerminationErrors[keyof CreateEmploymentScheduledTerminationErrors];
21806
+ export type CreateEmploymentScheduledTerminationResponses = {
21807
+ /**
21808
+ * Created
21809
+ */
21810
+ 201: PeopleEmploymentResponseObject;
21811
+ };
21812
+ export type CreateEmploymentScheduledTerminationResponse = CreateEmploymentScheduledTerminationResponses[keyof CreateEmploymentScheduledTerminationResponses];
21098
21813
  export type ListEmploymentsData = {
21099
21814
  body?: never;
21100
21815
  path?: never;
@@ -21152,6 +21867,85 @@ export type ListEmploymentsResponses = {
21152
21867
  };
21153
21868
  };
21154
21869
  export type ListEmploymentsResponse = ListEmploymentsResponses[keyof ListEmploymentsResponses];
21870
+ export type CreateEmploymentData = {
21871
+ body: PeopleEmploymentCreateParameters;
21872
+ path?: never;
21873
+ query?: never;
21874
+ url: '/api/v1/people/employments';
21875
+ };
21876
+ export type CreateEmploymentErrors = {
21877
+ /**
21878
+ * Bad Request
21879
+ */
21880
+ 400: Problem;
21881
+ /**
21882
+ * Forbidden
21883
+ */
21884
+ 403: Problem;
21885
+ /**
21886
+ * Not Found
21887
+ */
21888
+ 404: Problem;
21889
+ /**
21890
+ * Unprocessable Content
21891
+ */
21892
+ 422: Problem;
21893
+ };
21894
+ export type CreateEmploymentError = CreateEmploymentErrors[keyof CreateEmploymentErrors];
21895
+ export type CreateEmploymentResponses = {
21896
+ /**
21897
+ * Created
21898
+ */
21899
+ 201: PeopleEmploymentResponseObject;
21900
+ };
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];
21155
21949
  export type GetEmploymentData = {
21156
21950
  body?: never;
21157
21951
  path: {
@@ -21186,6 +21980,57 @@ export type GetEmploymentResponses = {
21186
21980
  200: PeopleEmploymentResponseObject;
21187
21981
  };
21188
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];
21189
22034
  export type ListPerDiemsData = {
21190
22035
  body?: never;
21191
22036
  path?: never;