@dsptch-work/api-client 0.22.0 → 0.24.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.
@@ -538,11 +538,12 @@ export const zApprenticeshipWageScheduleResponseObject = z.object({
538
538
  end_wage_currency: z.string(),
539
539
  journeyworker_wage_cents: z.string(),
540
540
  journeyworker_wage_currency: z.string(),
541
+ journeyworker_fringe_cents: z.string().nullable(),
541
542
  created_at: z.iso.datetime(),
542
543
  updated_at: z.iso.datetime()
543
544
  });
544
545
  /**
545
- * One step in a wage schedule's progression — the apprentice's pay, as a percentage of the journeyworker wage, for a band of accumulated hours or a number of competencies.
546
+ * One step in a wage schedule's progression — the apprentice's pay, as a percentage of the journeyworker wage, for a band of accumulated hours or a number of competencies. A period may also list its apprentices' fringe, as a percentage of the charged wage determination's fringe or as a fixed hourly amount, and an in-ratio apprentice is obligated at that fringe. The listing is ignored — fringe is priced as if nothing were listed — when the apprentice is out of ratio, on a regional Illinois wage determination, or on an apprentice-basis wage determination, which carries its own apprentice fringe.
546
547
  */
547
548
  export const zApprenticeshipWageSchedulePeriodResponseObject = z.object({
548
549
  id: z.string(),
@@ -555,6 +556,8 @@ export const zApprenticeshipWageSchedulePeriodResponseObject = z.object({
555
556
  wage_percent: z.string(),
556
557
  wage_cents: z.string(),
557
558
  wage_currency: z.string(),
559
+ fringe_percent: z.string().nullable(),
560
+ fringe_cents: z.string().nullable(),
558
561
  created_at: z.iso.datetime(),
559
562
  updated_at: z.iso.datetime()
560
563
  });
@@ -607,9 +610,22 @@ export const zApprenticeshipAllocationResponseObject = z.object({
607
610
  updated_at: z.iso.datetime()
608
611
  });
609
612
  /**
610
- * 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.
613
+ * 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.
614
+ */
615
+ export const zApprenticeshipAllocationCreateParameters = z.object({
616
+ apprenticeship_work_process_category_id: z.string().optional(),
617
+ timekeeping_time_card_id: z.string().optional(),
618
+ minutes: z.int(),
619
+ description: z.string().optional(),
620
+ allocated_at: z.iso.datetime().optional()
621
+ });
622
+ /**
623
+ * 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.
611
624
  */
612
625
  export const zApprenticeshipAllocationUpdateParameters = z.object({
626
+ apprenticeship_work_process_category_id: z.string().nullish(),
627
+ minutes: z.int().optional(),
628
+ description: z.string().nullish(),
613
629
  allocated_at: z.iso.datetime().optional()
614
630
  });
615
631
  /**
@@ -705,7 +721,7 @@ export const zApprenticeshipProgramEmployerUpdateParameters = z.object({
705
721
  require_timecard_allocation: z.boolean().optional()
706
722
  });
707
723
  /**
708
- * Create a period on a wage schedule; the wage schedule is taken from the URL path. wage_cents is sent as integer cents.
724
+ * Create a period on a wage schedule; the wage schedule is taken from the URL path. wage_cents and fringe_cents are sent as integer cents.
709
725
  */
710
726
  export const zApprenticeshipWageSchedulePeriodParameters = z.object({
711
727
  period_number: z.int(),
@@ -714,10 +730,12 @@ export const zApprenticeshipWageSchedulePeriodParameters = z.object({
714
730
  num_competencies: z.int().nullish(),
715
731
  description: z.string().nullish(),
716
732
  wage_percent: z.number(),
717
- wage_cents: z.int()
733
+ wage_cents: z.int(),
734
+ fringe_percent: z.number().nullish(),
735
+ fringe_cents: z.int().nullish()
718
736
  });
719
737
  /**
720
- * Update a period on a wage schedule. Send only the fields to change; the wage schedule is taken from the URL path and wage_cents is sent as integer cents.
738
+ * Update a period on a wage schedule. Send only the fields to change; the wage schedule is taken from the URL path, and wage_cents and fringe_cents are sent as integer cents.
721
739
  */
722
740
  export const zApprenticeshipWageSchedulePeriodUpdateParameters = z.object({
723
741
  period_number: z.int().optional(),
@@ -726,7 +744,9 @@ export const zApprenticeshipWageSchedulePeriodUpdateParameters = z.object({
726
744
  num_competencies: z.int().nullish(),
727
745
  description: z.string().nullish(),
728
746
  wage_percent: z.number().optional(),
729
- wage_cents: z.int().optional()
747
+ wage_cents: z.int().optional(),
748
+ fringe_percent: z.number().nullish(),
749
+ fringe_cents: z.int().nullish()
730
750
  });
731
751
  /**
732
752
  * Create a wage schedule for an occupation; the occupation is taken from the URL path. Money is sent as integer cents; periods may be created inline via periods_attributes.
@@ -759,6 +779,7 @@ export const zApprenticeshipWageScheduleParameters = z.object({
759
779
  'year'
760
780
  ]),
761
781
  journeyworker_wage_cents: z.int().optional(),
782
+ journeyworker_fringe_cents: z.int().nullish(),
762
783
  end_wage_cents: z.int().optional(),
763
784
  periods_attributes: z.array(z.object({
764
785
  id: z.string().optional(),
@@ -769,6 +790,8 @@ export const zApprenticeshipWageScheduleParameters = z.object({
769
790
  description: z.string().nullish(),
770
791
  wage_percent: z.number(),
771
792
  wage_cents: z.int(),
793
+ fringe_percent: z.number().nullish(),
794
+ fringe_cents: z.int().nullish(),
772
795
  _destroy: z.boolean().optional()
773
796
  })).optional()
774
797
  });
@@ -803,6 +826,7 @@ export const zApprenticeshipWageScheduleUpdateParameters = z.object({
803
826
  'year'
804
827
  ]).optional(),
805
828
  journeyworker_wage_cents: z.int().optional(),
829
+ journeyworker_fringe_cents: z.int().nullish(),
806
830
  end_wage_cents: z.int().optional(),
807
831
  periods_attributes: z.array(z.intersection(z.union([
808
832
  z.unknown(),
@@ -829,6 +853,8 @@ export const zApprenticeshipWageScheduleUpdateParameters = z.object({
829
853
  description: z.string().nullish(),
830
854
  wage_percent: z.number().optional(),
831
855
  wage_cents: z.int().optional(),
856
+ fringe_percent: z.number().nullish(),
857
+ fringe_cents: z.int().nullish(),
832
858
  _destroy: z.boolean().optional()
833
859
  }))).optional()
834
860
  });
@@ -921,7 +947,7 @@ export const zPeopleEmploymentCreateParameters = z.object({
921
947
  employer_combined_savings_cents: z.string().nullish()
922
948
  });
923
949
  /**
924
- * 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.
950
+ * Request body for creating one employment boundary. effective_date is required and is interpreted at midnight in the credential company's time zone. Today and past dates must fall inside the family's latest version, before its termination; future dates retain scheduling behavior. Send at least one value to change; omitted values carry forward from the version immediately before the new boundary.
925
951
  */
926
952
  export const zPeopleEmploymentScheduledChangeCreateParameters = z.object({
927
953
  compensation_type: z.enum(['hourly', 'salary']).optional(),
@@ -935,10 +961,11 @@ export const zPeopleEmploymentScheduledChangeCreateParameters = z.object({
935
961
  training_annual_amount_cents: z.string().nullish(),
936
962
  employer_combined_health_amount_cents: z.string().nullish(),
937
963
  employer_combined_savings_cents: z.string().nullish(),
964
+ companies_department_id: z.string().nullish(),
938
965
  effective_date: z.iso.date()
939
966
  });
940
967
  /**
941
- * 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.
968
+ * Request body for changing values at one exact employment boundary. Today and past dates must name the latest version's start; future exact boundaries remain editable. Send only the fields to change; omitted values remain as recorded at that boundary. The boundary date cannot move.
942
969
  */
943
970
  export const zPeopleEmploymentScheduledChangeUpdateParameters = z.object({
944
971
  compensation_type: z.enum(['hourly', 'salary']).optional(),
@@ -951,7 +978,8 @@ export const zPeopleEmploymentScheduledChangeUpdateParameters = z.object({
951
978
  training_annual_minutes: z.int().nullish(),
952
979
  training_annual_amount_cents: z.string().nullish(),
953
980
  employer_combined_health_amount_cents: z.string().nullish(),
954
- employer_combined_savings_cents: z.string().nullish()
981
+ employer_combined_savings_cents: z.string().nullish(),
982
+ companies_department_id: z.string().nullish()
955
983
  });
956
984
  /**
957
985
  * Parameters for moving where an employment stint's valid-time timeline begins.
@@ -965,6 +993,29 @@ export const zPeopleEmploymentGenesisParameters = z.object({
965
993
  export const zPeopleEmploymentScheduledTerminationParameters = z.object({
966
994
  effective_date: z.iso.date()
967
995
  });
996
+ /**
997
+ * 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.
998
+ */
999
+ export const zPeopleEmploymentUpdateParameters = z.object({
1000
+ type: z.enum(['EMPLOYEE', 'CONTRACTOR']).optional(),
1001
+ title: z.string().nullish(),
1002
+ manager_user_id: z.string().nullish(),
1003
+ payroll_id: z.string().nullish(),
1004
+ enrolled_in_t_and_a: z.boolean().optional()
1005
+ });
1006
+ export const zPeopleEmploymentCustomFieldResponseObject = z.object({
1007
+ custom_field_config_id: z.string(),
1008
+ value: z.string().nullable()
1009
+ });
1010
+ /**
1011
+ * 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.
1012
+ */
1013
+ export const zPeopleEmploymentCustomFieldsUpdateParameters = z.object({
1014
+ custom_fields: z.array(z.object({
1015
+ custom_field_config_id: z.string(),
1016
+ value: z.string().nullable()
1017
+ })).min(1)
1018
+ });
968
1019
  export const zPeopleEmploymentHistoryCorrectionObject = z.object({
969
1020
  people_employment_id: z.string(),
970
1021
  user_id: z.string(),
@@ -2545,7 +2596,9 @@ export const zAggregateTimeImportResponseObject = z.object({
2545
2596
  'processing',
2546
2597
  'processed',
2547
2598
  'success',
2548
- 'failed'
2599
+ 'failed',
2600
+ 'superseded',
2601
+ 'withdrawn'
2549
2602
  ]),
2550
2603
  processed_rows_count: z.int(),
2551
2604
  processing_errors: z.array(zImportProcessingError),
@@ -2574,7 +2627,9 @@ export const zDsptchCprImportResponseObject = z.object({
2574
2627
  'processing',
2575
2628
  'processed',
2576
2629
  'success',
2577
- 'failed'
2630
+ 'failed',
2631
+ 'superseded',
2632
+ 'withdrawn'
2578
2633
  ]),
2579
2634
  processed_rows_count: z.int(),
2580
2635
  processing_errors: z.array(zImportProcessingError),
@@ -2603,7 +2658,9 @@ export const zPaystubImportResponseObject = z.object({
2603
2658
  'processing',
2604
2659
  'processed',
2605
2660
  'success',
2606
- 'failed'
2661
+ 'failed',
2662
+ 'superseded',
2663
+ 'withdrawn'
2607
2664
  ]),
2608
2665
  processed_rows_count: z.int(),
2609
2666
  processing_errors: z.array(zImportProcessingError),
@@ -2632,7 +2689,9 @@ export const zTimeEntryImportResponseObject = z.object({
2632
2689
  'processing',
2633
2690
  'processed',
2634
2691
  'success',
2635
- 'failed'
2692
+ 'failed',
2693
+ 'superseded',
2694
+ 'withdrawn'
2636
2695
  ]),
2637
2696
  processed_rows_count: z.int(),
2638
2697
  processing_errors: z.array(zImportProcessingError),
@@ -4115,7 +4174,7 @@ export const zFormAssignmentTaskResponseObject = z.array(z.object({
4115
4174
  }))
4116
4175
  }));
4117
4176
  /**
4118
- * Request body for creating a certification — a named qualification a worker can hold. You can only manage your own company's certifications; global (platform) certifications are read-only.
4177
+ * Request body for creating a certification — a named qualification a worker can hold. You can only manage your own company's certifications; global (platform) certifications are read-only. Only the keys listed here are accepted — any other key is rejected with 400 unknown_key.
4119
4178
  */
4120
4179
  export const zCertificationParameters = z.object({
4121
4180
  company_id: z.string(),
@@ -4125,10 +4184,9 @@ export const zCertificationParameters = z.object({
4125
4184
  duration: z.string().nullish()
4126
4185
  });
4127
4186
  /**
4128
- * Request body for updating a certification — a named qualification a worker can hold. Include only the fields to change. You can only manage your own company's certifications; global (platform) certifications are read-only.
4187
+ * Request body for updating a certification — a named qualification a worker can hold. Include only the fields to change. You can only manage your own company's certifications; global (platform) certifications are read-only. company_id is absent by design — the certification's company is fixed at creation, so sending the key is rejected with 400 unknown_key, as is any other key not listed here.
4129
4188
  */
4130
4189
  export const zCertificationUpdateParameters = z.object({
4131
- company_id: z.string().optional(),
4132
4190
  name: z.string().optional(),
4133
4191
  description: z.string().nullish(),
4134
4192
  verified: z.boolean().optional(),
@@ -4149,7 +4207,7 @@ export const zCertificationPackageResponseObject = z.object({
4149
4207
  updated_at: z.iso.datetime()
4150
4208
  });
4151
4209
  /**
4152
- * Request body for creating a certification package — a named set of certifications a company requires together.
4210
+ * Request body for creating a certification package — a named set of certifications a company requires together. The package belongs to the company that owns the API key. Only the keys listed here are accepted — any other key is rejected with 400 unknown_key.
4153
4211
  */
4154
4212
  export const zCertificationPackageParameters = z.object({
4155
4213
  name: z.string(),
@@ -4158,7 +4216,7 @@ export const zCertificationPackageParameters = z.object({
4158
4216
  performed_by_user_id: z.string()
4159
4217
  });
4160
4218
  /**
4161
- * Request body for updating a certification package — a named set of certifications a company requires together. Include only the fields to change.
4219
+ * Request body for updating a certification package — a named set of certifications a company requires together. Include only the fields to change. Any key not listed here is rejected with 400 unknown_key.
4162
4220
  */
4163
4221
  export const zCertificationPackageUpdateParameters = z.object({
4164
4222
  name: z.string().optional(),
@@ -6592,6 +6650,14 @@ export const zListAllocationsResponse = z.object({
6592
6650
  links: zLinks,
6593
6651
  data: z.array(zApprenticeshipAllocationResponseObject)
6594
6652
  });
6653
+ export const zCreateAllocationBody = zApprenticeshipAllocationCreateParameters;
6654
+ export const zCreateAllocationPath = z.object({
6655
+ apprentice_id: z.string()
6656
+ });
6657
+ /**
6658
+ * Created
6659
+ */
6660
+ export const zCreateAllocationResponse = zApprenticeshipAllocationResponseObject;
6595
6661
  export const zGetAllocationPath = z.object({
6596
6662
  apprentice_id: z.string(),
6597
6663
  id: z.string()
@@ -7865,6 +7931,20 @@ export const zCreateDepartmentBody = zDepartmentParameters;
7865
7931
  * Created
7866
7932
  */
7867
7933
  export const zCreateDepartmentResponse = zDepartmentResponseObject;
7934
+ export const zDeleteDepartmentPath = z.object({
7935
+ id: z.string()
7936
+ });
7937
+ /**
7938
+ * No Content
7939
+ */
7940
+ export const zDeleteDepartmentResponse = z.void();
7941
+ export const zGetDepartmentPath = z.object({
7942
+ id: z.string()
7943
+ });
7944
+ /**
7945
+ * Success
7946
+ */
7947
+ export const zGetDepartmentResponse = zDepartmentResponseObject;
7868
7948
  export const zUpdateDepartmentBody = zDepartmentUpdateParameters;
7869
7949
  export const zUpdateDepartmentPath = z.object({
7870
7950
  id: z.string()
@@ -8420,6 +8500,8 @@ export const zListJobsQuery = z.object({
8420
8500
  'feature',
8421
8501
  'quantity'
8422
8502
  ]).optional(),
8503
+ 'filter[name]': z.string().optional(),
8504
+ 'filter[purchase_order_number]': z.string().optional(),
8423
8505
  'page[cursor]': z.string().optional(),
8424
8506
  'page[limit]': z.int().gte(1).optional().default(20),
8425
8507
  page: z.string().optional(),
@@ -9256,6 +9338,28 @@ export const zUpdatePaystubPath = z.object({
9256
9338
  * Success
9257
9339
  */
9258
9340
  export const zUpdatePaystubResponse = zPaystubResponseObject;
9341
+ export const zListCustomFieldsPath = z.object({
9342
+ employment_id: z.string()
9343
+ });
9344
+ /**
9345
+ * Success
9346
+ */
9347
+ export const zListCustomFieldsResponse = z.object({
9348
+ data: z.array(zPeopleEmploymentCustomFieldResponseObject)
9349
+ });
9350
+ export const zUpdateCustomFieldBody = zPeopleEmploymentCustomFieldsUpdateParameters;
9351
+ export const zUpdateCustomFieldHeaders = z.object({
9352
+ 'If-Match': z.string()
9353
+ });
9354
+ export const zUpdateCustomFieldPath = z.object({
9355
+ employment_id: z.string()
9356
+ });
9357
+ /**
9358
+ * Success
9359
+ */
9360
+ export const zUpdateCustomFieldResponse = z.object({
9361
+ data: z.array(zPeopleEmploymentCustomFieldResponseObject)
9362
+ });
9259
9363
  export const zUpdateGenesisBody = zPeopleEmploymentGenesisParameters;
9260
9364
  export const zUpdateGenesisHeaders = z.object({
9261
9365
  'If-Match': z.string()
@@ -9384,6 +9488,16 @@ export const zCreateEmploymentBody = zPeopleEmploymentCreateParameters;
9384
9488
  * Created
9385
9489
  */
9386
9490
  export const zCreateEmploymentResponse = zPeopleEmploymentResponseObject;
9491
+ export const zDeleteEmploymentHeaders = z.object({
9492
+ 'If-Match': z.string()
9493
+ });
9494
+ export const zDeleteEmploymentPath = z.object({
9495
+ id: z.string()
9496
+ });
9497
+ /**
9498
+ * Success
9499
+ */
9500
+ export const zDeleteEmploymentResponse = zPeopleEmploymentResponseObject;
9387
9501
  export const zGetEmploymentPath = z.object({
9388
9502
  id: z.string()
9389
9503
  });
@@ -9394,6 +9508,17 @@ export const zGetEmploymentQuery = z.object({
9394
9508
  * Success
9395
9509
  */
9396
9510
  export const zGetEmploymentResponse = zPeopleEmploymentResponseObject;
9511
+ export const zUpdateEmploymentBody = zPeopleEmploymentUpdateParameters;
9512
+ export const zUpdateEmploymentHeaders = z.object({
9513
+ 'If-Match': z.string()
9514
+ });
9515
+ export const zUpdateEmploymentPath = z.object({
9516
+ id: z.string()
9517
+ });
9518
+ /**
9519
+ * Success
9520
+ */
9521
+ export const zUpdateEmploymentResponse = zPeopleEmploymentResponseObject;
9397
9522
  export const zListPerDiemsQuery = z.object({
9398
9523
  'filter[default]': z.boolean().optional(),
9399
9524
  'filter[taxable]': z.boolean().optional(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dsptch-work/api-client",
3
- "version": "0.22.0",
3
+ "version": "0.24.0",
4
4
  "description": "Generated TypeScript client for the DSPTCH REST API.",
5
5
  "keywords": [
6
6
  "dsptch",