@dsptch-work/api-client 0.23.0 → 0.25.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' | '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';
386
+ resource: 'assets.items' | 'assets.items.documents' | 'assets.items.service_events' | 'assets.products' | 'assets.vendors' | 'compliance.checks' | 'internal.companies' | '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
  */
@@ -653,6 +653,10 @@ export type ApprenticeshipWageScheduleResponseObject = {
653
653
  * ISO 4217 currency code for journeyworker_wage_cents.
654
654
  */
655
655
  journeyworker_wage_currency: string;
656
+ /**
657
+ * The journeyworker fringe that percentage-listed periods are authored against, in cents as a decimal string (e.g. "2000.0" is $20.00); denominated in journeyworker_wage_currency. An authoring reference only — pricing uses the fringe on each job's wage determination. Null when unset.
658
+ */
659
+ journeyworker_fringe_cents: string | null;
656
660
  /**
657
661
  * When the record was created (ISO 8601).
658
662
  */
@@ -663,7 +667,7 @@ export type ApprenticeshipWageScheduleResponseObject = {
663
667
  updated_at: string;
664
668
  };
665
669
  /**
666
- * 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.
670
+ * 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.
667
671
  */
668
672
  export type ApprenticeshipWageSchedulePeriodResponseObject = {
669
673
  /**
@@ -706,6 +710,14 @@ export type ApprenticeshipWageSchedulePeriodResponseObject = {
706
710
  * ISO 4217 currency code for wage_cents.
707
711
  */
708
712
  wage_currency: string;
713
+ /**
714
+ * Apprentice fringe as a percentage of the charged wage determination's fringe, as a decimal string (e.g. "70.0" is 70%); null when the period does not list fringe as a percentage. At most one of fringe_percent and fringe_cents is set, and when neither is, the period lists no fringe.
715
+ */
716
+ fringe_percent: string | null;
717
+ /**
718
+ * Fixed hourly apprentice fringe, in cents as a decimal string (e.g. "450.0" is $4.50); denominated in wage_currency. Null when the period does not list a fixed fringe.
719
+ */
720
+ fringe_cents: string | null;
709
721
  /**
710
722
  * When the record was created (ISO 8601).
711
723
  */
@@ -1014,7 +1026,7 @@ export type ApprenticeshipOccupationUpdateParameters = {
1014
1026
  */
1015
1027
  export type ApprenticeshipProgramEmployerParameters = {
1016
1028
  /**
1017
- * ID of the company to authorize as an employer in this program; it need not be related to the sponsor, since a group program names unaffiliated contractors. Naming a company here grants its admins and managers read access to this program, the right to enroll their own workers in it, the right to curate its trade-to-occupation scope decisions, and a passing apprenticeship-program compliance check; it grants no access to that company's own data. Cannot be changed once the employer has apprentices. Required.
1029
+ * ID of the company to authorize as an employer. An API key may name only its own company. Required.
1018
1030
  */
1019
1031
  company_id: string;
1020
1032
  /**
@@ -1023,11 +1035,11 @@ export type ApprenticeshipProgramEmployerParameters = {
1023
1035
  require_timecard_allocation?: boolean;
1024
1036
  };
1025
1037
  /**
1026
- * Update an employer authorization in a program. Send only the fields to change; only the program's sponsor may manage this roster.
1038
+ * Update an employer authorization in a program. Send only the fields to change; only the program's sponsor may manage this roster, and an API key may change only the row naming its own company.
1027
1039
  */
1028
1040
  export type ApprenticeshipProgramEmployerUpdateParameters = {
1029
1041
  /**
1030
- * ID of the company authorized as an employer in this program. It cannot be changed once the employer has apprentices; omit to leave it unchanged.
1042
+ * ID of the company authorized as an employer. An API key may name only its own company; omit to leave it unchanged.
1031
1043
  */
1032
1044
  company_id?: string;
1033
1045
  /**
@@ -1036,7 +1048,7 @@ export type ApprenticeshipProgramEmployerUpdateParameters = {
1036
1048
  require_timecard_allocation?: boolean;
1037
1049
  };
1038
1050
  /**
1039
- * Create a period on a wage schedule; the wage schedule is taken from the URL path. wage_cents is sent as integer cents.
1051
+ * 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.
1040
1052
  */
1041
1053
  export type ApprenticeshipWageSchedulePeriodParameters = {
1042
1054
  /**
@@ -1067,9 +1079,17 @@ export type ApprenticeshipWageSchedulePeriodParameters = {
1067
1079
  * Wage rate for this period, in cents; denominated in the parent schedule's wage_unit. Required.
1068
1080
  */
1069
1081
  wage_cents: number;
1082
+ /**
1083
+ * Apprentice fringe for this period, as a percentage of the fringe on the wage determination the apprentice charges (e.g. 70 for 70%); optional, omit or send null when the period does not list fringe as a percentage. A period lists fringe one way at most, so sending both fringe_percent and fringe_cents non-null is rejected with a 422.
1084
+ */
1085
+ fringe_percent?: number | null;
1086
+ /**
1087
+ * Fixed hourly apprentice fringe for this period, in cents, in the period's wage currency; optional, omit or send null when the period does not list a fixed fringe. A period lists fringe one way at most, so sending both fringe_percent and fringe_cents non-null is rejected with a 422.
1088
+ */
1089
+ fringe_cents?: number | null;
1070
1090
  };
1071
1091
  /**
1072
- * 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.
1092
+ * 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.
1073
1093
  */
1074
1094
  export type ApprenticeshipWageSchedulePeriodUpdateParameters = {
1075
1095
  /**
@@ -1100,6 +1120,14 @@ export type ApprenticeshipWageSchedulePeriodUpdateParameters = {
1100
1120
  * Wage rate for this period, in cents; omit to leave it unchanged.
1101
1121
  */
1102
1122
  wage_cents?: number;
1123
+ /**
1124
+ * Apprentice fringe for this period, as a percentage of the fringe on the wage determination the apprentice charges (e.g. 70 for 70%); omit to leave it unchanged, or send null to clear. A period lists fringe one way at most, so switching to a fixed amount sends fringe_cents with fringe_percent null; a request that leaves both set is rejected with a 422.
1125
+ */
1126
+ fringe_percent?: number | null;
1127
+ /**
1128
+ * Fixed hourly apprentice fringe for this period, in cents; omit to leave it unchanged, or send null to clear. A period lists fringe one way at most, so switching to a percentage sends fringe_percent with fringe_cents null; a request that leaves both set is rejected with a 422.
1129
+ */
1130
+ fringe_cents?: number | null;
1103
1131
  };
1104
1132
  /**
1105
1133
  * 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.
@@ -1129,6 +1157,10 @@ export type ApprenticeshipWageScheduleParameters = {
1129
1157
  * The journeyworker wage to progress toward, in cents; denominated in journeyworker_wage_unit; optional, defaults to 0.
1130
1158
  */
1131
1159
  journeyworker_wage_cents?: number;
1160
+ /**
1161
+ * The journeyworker fringe that percentage-listed periods are authored against, in cents; an authoring reference only, never priced; optional, omit or send null to leave it unset.
1162
+ */
1163
+ journeyworker_fringe_cents?: number | null;
1132
1164
  /**
1133
1165
  * Wage at the end of the progression (100% of the journeyworker wage), in cents; denominated in wage_unit; optional, defaults to 0.
1134
1166
  */
@@ -1169,6 +1201,14 @@ export type ApprenticeshipWageScheduleParameters = {
1169
1201
  * Wage rate for this period, in cents; denominated in the parent schedule's wage_unit. Required.
1170
1202
  */
1171
1203
  wage_cents: number;
1204
+ /**
1205
+ * Apprentice fringe for this period, as a percentage of the fringe on the wage determination the apprentice charges (e.g. 70 for 70%); optional, omit or send null when the period does not list fringe as a percentage. A period lists fringe one way at most, so sending both fringe_percent and fringe_cents non-null is rejected with a 422.
1206
+ */
1207
+ fringe_percent?: number | null;
1208
+ /**
1209
+ * Fixed hourly apprentice fringe for this period, in cents, in the period's wage currency; optional, omit or send null when the period does not list a fixed fringe. A period lists fringe one way at most, so sending both fringe_percent and fringe_cents non-null is rejected with a 422.
1210
+ */
1211
+ fringe_cents?: number | null;
1172
1212
  /**
1173
1213
  * Set to true, together with the period's id, to remove that period from the schedule.
1174
1214
  */
@@ -1203,6 +1243,10 @@ export type ApprenticeshipWageScheduleUpdateParameters = {
1203
1243
  * Journeyworker wage to progress toward, in cents; omit to leave it unchanged.
1204
1244
  */
1205
1245
  journeyworker_wage_cents?: number;
1246
+ /**
1247
+ * The journeyworker fringe that percentage-listed periods are authored against, in cents; an authoring reference only, never priced; omit to leave it unchanged, or send null to clear.
1248
+ */
1249
+ journeyworker_fringe_cents?: number | null;
1206
1250
  /**
1207
1251
  * Wage at the end of the progression, in cents; omit to leave it unchanged.
1208
1252
  */
@@ -1251,6 +1295,14 @@ export type ApprenticeshipWageScheduleUpdateParameters = {
1251
1295
  * Wage rate for this period, in cents; omit to leave it unchanged.
1252
1296
  */
1253
1297
  wage_cents?: number;
1298
+ /**
1299
+ * Apprentice fringe for this period, as a percentage of the fringe on the wage determination the apprentice charges (e.g. 70 for 70%); omit to leave it unchanged, or send null to clear. A period lists fringe one way at most, so switching to a fixed amount sends fringe_cents with fringe_percent null; a request that leaves both set is rejected with a 422.
1300
+ */
1301
+ fringe_percent?: number | null;
1302
+ /**
1303
+ * Fixed hourly apprentice fringe for this period, in cents; omit to leave it unchanged, or send null to clear. A period lists fringe one way at most, so switching to a percentage sends fringe_percent with fringe_cents null; a request that leaves both set is rejected with a 422.
1304
+ */
1305
+ fringe_cents?: number | null;
1254
1306
  /**
1255
1307
  * Set to true, together with the period's id, to remove that period from the schedule.
1256
1308
  */
@@ -1545,7 +1597,7 @@ export type PeopleEmploymentCreateParameters = {
1545
1597
  employer_combined_savings_cents?: string | null;
1546
1598
  };
1547
1599
  /**
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.
1600
+ * 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.
1549
1601
  */
1550
1602
  export type PeopleEmploymentScheduledChangeCreateParameters = {
1551
1603
  /**
@@ -1597,12 +1649,12 @@ export type PeopleEmploymentScheduledChangeCreateParameters = {
1597
1649
  */
1598
1650
  companies_department_id?: string | null;
1599
1651
  /**
1600
- * Company-local date when the new boundary takes effect. Must be strictly in the future. Required.
1652
+ * Company-local date when the new boundary takes effect. Today and past dates must fall inside the latest version, before termination. Required.
1601
1653
  */
1602
1654
  effective_date: string;
1603
1655
  };
1604
1656
  /**
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.
1657
+ * 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.
1606
1658
  */
1607
1659
  export type PeopleEmploymentScheduledChangeUpdateParameters = {
1608
1660
  /**
@@ -4466,26 +4518,38 @@ export type UserUpdateParameters = {
4466
4518
  */
4467
4519
  avatar_signed_id?: string | null;
4468
4520
  };
4469
- /**
4470
- * Request body for onboarding a worker into your company. In one call it creates the person (if new), their employment record, roles, group memberships, an optional invite, and optional compliance details. company_id, email, first_name, and last_name are required.
4471
- */
4472
- export type UserParameters = {
4521
+ export type UserParameters = ({
4522
+ /**
4523
+ * Work email address; the worker signs in and receives their invite here. Null when the worker has none. Required to send an invite unless a phone number is given.
4524
+ */
4525
+ email: string;
4526
+ } | {
4527
+ /**
4528
+ * Contact phone number. Null when the worker has none. Required to send an invite unless a work email is given.
4529
+ */
4530
+ phone_number: string;
4531
+ } | {
4532
+ /**
4533
+ * Non-stored field. If true, no invite is created and work email / phone are not required.
4534
+ */
4535
+ skip_invite: true;
4536
+ }) & {
4473
4537
  /**
4474
4538
  * Id of the company to onboard the worker into. Must be the company that owns the API key.
4475
4539
  */
4476
- company_id: string;
4540
+ company_id?: string;
4477
4541
  /**
4478
- * Work email address; the worker signs in and receives their invite here.
4542
+ * Work email address; the worker signs in and receives their invite here. Null when the worker has none. Required to send an invite unless a phone number is given.
4479
4543
  */
4480
- email: string;
4544
+ email?: string | null;
4481
4545
  /**
4482
4546
  * Personal (non-work) email address.
4483
4547
  */
4484
- personal_email?: string;
4548
+ personal_email?: string | null;
4485
4549
  /**
4486
- * Contact phone number.
4550
+ * Contact phone number. Null when the worker has none. Required to send an invite unless a work email is given.
4487
4551
  */
4488
- phone_number?: string;
4552
+ phone_number?: string | null;
4489
4553
  /**
4490
4554
  * Legal first name. Used for compliance and other exports.
4491
4555
  */
@@ -4547,7 +4611,7 @@ export type UserParameters = {
4547
4611
  */
4548
4612
  skip_notify?: boolean;
4549
4613
  /**
4550
- * Non-stored field. If true will not create an invite at all.
4614
+ * Non-stored field. If true, no invite is created and work email / phone are not required.
4551
4615
  */
4552
4616
  skip_invite?: boolean;
4553
4617
  type?: UserCompanyType;
@@ -4903,7 +4967,7 @@ export type TimeEntryParameters = {
4903
4967
  */
4904
4968
  description?: string | null;
4905
4969
  /**
4906
- * Base hourly rate in cents, sent as a string to preserve precision; omit or null to let the system derive it from the position/user default.
4970
+ * Base hourly rate in cents, sent as a string to preserve precision; omit it to let the system derive the rate from the position/user default. Only a company-scoped key or a key whose user is an admin in the entry's company may send it, and null from those keys also derives the default. Any other user-scoped key must omit it; sending it, null included, is refused with 403.
4907
4971
  */
4908
4972
  hourly_rate_cents?: string | null;
4909
4973
  /**
@@ -5726,7 +5790,7 @@ export type AggregateTimeImportResponseObject = {
5726
5790
  /**
5727
5791
  * Where the import has got to. `pending` until the background job starts, then `success` or `failed`.
5728
5792
  */
5729
- status: 'pending' | 'processing' | 'processed' | 'success' | 'failed' | 'superseded';
5793
+ status: 'pending' | 'processing' | 'processed' | 'success' | 'failed' | 'superseded' | 'withdrawn';
5730
5794
  /**
5731
5795
  * 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.
5732
5796
  */
@@ -5776,7 +5840,7 @@ export type DsptchCprImportResponseObject = {
5776
5840
  /**
5777
5841
  * Where the import has got to. `pending` until the background job starts, then `success` or `failed`.
5778
5842
  */
5779
- status: 'pending' | 'processing' | 'processed' | 'success' | 'failed' | 'superseded';
5843
+ status: 'pending' | 'processing' | 'processed' | 'success' | 'failed' | 'superseded' | 'withdrawn';
5780
5844
  /**
5781
5845
  * 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.
5782
5846
  */
@@ -5826,7 +5890,7 @@ export type PaystubImportResponseObject = {
5826
5890
  /**
5827
5891
  * Where the import has got to. `pending` until the background job starts, then `success` or `failed`.
5828
5892
  */
5829
- status: 'pending' | 'processing' | 'processed' | 'success' | 'failed' | 'superseded';
5893
+ status: 'pending' | 'processing' | 'processed' | 'success' | 'failed' | 'superseded' | 'withdrawn';
5830
5894
  /**
5831
5895
  * 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.
5832
5896
  */
@@ -5876,7 +5940,7 @@ export type TimeEntryImportResponseObject = {
5876
5940
  /**
5877
5941
  * Where the import has got to. `pending` until the background job starts, then `success` or `failed`.
5878
5942
  */
5879
- status: 'pending' | 'processing' | 'processed' | 'success' | 'failed' | 'superseded';
5943
+ status: 'pending' | 'processing' | 'processed' | 'success' | 'failed' | 'superseded' | 'withdrawn';
5880
5944
  /**
5881
5945
  * 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.
5882
5946
  */
@@ -8571,6 +8635,19 @@ export type PayRatesRulePackageParameters = {
8571
8635
  */
8572
8636
  description?: string | null;
8573
8637
  };
8638
+ /**
8639
+ * Request body for updating a pay-rate rule package. Send only the fields to change. `default`, `selectable`, and `scoped_to_job_id` are not writable on this operation.
8640
+ */
8641
+ export type PayRatesRulePackageUpdateParameters = {
8642
+ /**
8643
+ * Human-readable package name. Omit to leave it unchanged.
8644
+ */
8645
+ name?: string;
8646
+ /**
8647
+ * Free-form package description; omit to leave it unchanged, or send null to clear it.
8648
+ */
8649
+ description?: string | null;
8650
+ };
8574
8651
  /**
8575
8652
  * A page of a job's positions, with pagination metadata and navigation links.
8576
8653
  */
@@ -8603,11 +8680,11 @@ export type PositionParameters = {
8603
8680
  */
8604
8681
  end_time?: string | null;
8605
8682
  /**
8606
- * ID of the position function (role) to assign; null for none.
8683
+ * ID of the position function (role) to assign; null for none. Must be a global function or one of the job's company.
8607
8684
  */
8608
8685
  position_function_id?: string | null;
8609
8686
  /**
8610
- * ID of the per diem to apply; its rate and currency are copied onto the position.
8687
+ * ID of the per diem to apply; its rate and currency are copied onto the position. Must belong to the job's company.
8611
8688
  */
8612
8689
  per_diem_id?: string | null;
8613
8690
  /**
@@ -8963,11 +9040,11 @@ export type FormAssignmentTaskResponseObject = Array<{
8963
9040
  }>;
8964
9041
  }>;
8965
9042
  /**
8966
- * 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.
9043
+ * 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.
8967
9044
  */
8968
9045
  export type CertificationParameters = {
8969
9046
  /**
8970
- * Id of the company that owns the certification. Must be the company that owns the API key; you cannot create global certifications through the API.
9047
+ * Id of the company that owns the certification. Must be the company that owns the API key; you cannot create global certifications through the API. Required on create and fixed from then on — an update cannot move a certification to another company.
8971
9048
  */
8972
9049
  company_id: string;
8973
9050
  /**
@@ -8988,13 +9065,9 @@ export type CertificationParameters = {
8988
9065
  duration?: string | null;
8989
9066
  };
8990
9067
  /**
8991
- * 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.
9068
+ * 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.
8992
9069
  */
8993
9070
  export type CertificationUpdateParameters = {
8994
- /**
8995
- * Id of the company that owns the certification. It must match the company that owns the API key; updates cannot move a certification between companies.
8996
- */
8997
- company_id?: string;
8998
9071
  /**
8999
9072
  * Name of the certification (for example "OSHA 30" or a GWO training module). Unique within the company.
9000
9073
  */
@@ -9065,7 +9138,7 @@ export type CertificationPackageResponseObject = {
9065
9138
  updated_at: string;
9066
9139
  };
9067
9140
  /**
9068
- * Request body for creating a certification package — a named set of certifications a company requires together.
9141
+ * 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.
9069
9142
  */
9070
9143
  export type CertificationPackageParameters = {
9071
9144
  /**
@@ -9077,7 +9150,7 @@ export type CertificationPackageParameters = {
9077
9150
  */
9078
9151
  description?: string | null;
9079
9152
  /**
9080
- * Ids of the certifications in the package; global and your company's own may be mixed. Providing this replaces the entire membership.
9153
+ * Ids of the certifications in the package; global and your company's own may be mixed. Providing this replaces the entire membership. An id that is neither a global certification nor one of your company's own answers 404, and nothing is written.
9081
9154
  */
9082
9155
  certification_ids?: Array<string>;
9083
9156
  /**
@@ -9086,7 +9159,7 @@ export type CertificationPackageParameters = {
9086
9159
  performed_by_user_id: string;
9087
9160
  };
9088
9161
  /**
9089
- * Request body for updating a certification package — a named set of certifications a company requires together. Include only the fields to change.
9162
+ * 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.
9090
9163
  */
9091
9164
  export type CertificationPackageUpdateParameters = {
9092
9165
  /**
@@ -9098,7 +9171,7 @@ export type CertificationPackageUpdateParameters = {
9098
9171
  */
9099
9172
  description?: string | null;
9100
9173
  /**
9101
- * Ids of the certifications in the package; global and your company's own may be mixed. Providing this replaces the entire membership.
9174
+ * Ids of the certifications in the package; global and your company's own may be mixed. Providing this replaces the entire membership. An id that is neither a global certification nor one of your company's own answers 404, and nothing is written.
9102
9175
  */
9103
9176
  certification_ids?: Array<string>;
9104
9177
  /**
@@ -12643,6 +12716,33 @@ export type CreateAllocationResponses = {
12643
12716
  201: ApprenticeshipAllocationResponseObject;
12644
12717
  };
12645
12718
  export type CreateAllocationResponse = CreateAllocationResponses[keyof CreateAllocationResponses];
12719
+ export type DeleteAllocationData = {
12720
+ body?: never;
12721
+ path: {
12722
+ apprentice_id: string;
12723
+ id: string;
12724
+ };
12725
+ query?: never;
12726
+ url: '/api/v1/apprenticeship/apprentices/{apprentice_id}/allocations/{id}';
12727
+ };
12728
+ export type DeleteAllocationErrors = {
12729
+ /**
12730
+ * Forbidden
12731
+ */
12732
+ 403: Problem;
12733
+ /**
12734
+ * Not Found
12735
+ */
12736
+ 404: Problem;
12737
+ };
12738
+ export type DeleteAllocationError = DeleteAllocationErrors[keyof DeleteAllocationErrors];
12739
+ export type DeleteAllocationResponses = {
12740
+ /**
12741
+ * No Content
12742
+ */
12743
+ 204: void;
12744
+ };
12745
+ export type DeleteAllocationResponse = DeleteAllocationResponses[keyof DeleteAllocationResponses];
12646
12746
  export type GetAllocationData = {
12647
12747
  body?: never;
12648
12748
  path: {
@@ -12888,6 +12988,64 @@ export type CreateOccupationResponses = {
12888
12988
  201: ApprenticeshipOccupationResponseObject;
12889
12989
  };
12890
12990
  export type CreateOccupationResponse = CreateOccupationResponses[keyof CreateOccupationResponses];
12991
+ export type DeleteOccupationData = {
12992
+ body?: never;
12993
+ path: {
12994
+ program_id: string;
12995
+ id: string;
12996
+ };
12997
+ query?: never;
12998
+ url: '/api/v1/apprenticeship/programs/{program_id}/occupations/{id}';
12999
+ };
13000
+ export type DeleteOccupationErrors = {
13001
+ /**
13002
+ * Forbidden
13003
+ */
13004
+ 403: Problem;
13005
+ /**
13006
+ * Not Found
13007
+ */
13008
+ 404: Problem;
13009
+ /**
13010
+ * Unprocessable Content
13011
+ */
13012
+ 422: Problem;
13013
+ };
13014
+ export type DeleteOccupationError = DeleteOccupationErrors[keyof DeleteOccupationErrors];
13015
+ export type DeleteOccupationResponses = {
13016
+ /**
13017
+ * No Content
13018
+ */
13019
+ 204: void;
13020
+ };
13021
+ export type DeleteOccupationResponse = DeleteOccupationResponses[keyof DeleteOccupationResponses];
13022
+ export type GetOccupationData = {
13023
+ body?: never;
13024
+ path: {
13025
+ program_id: string;
13026
+ id: string;
13027
+ };
13028
+ query?: never;
13029
+ url: '/api/v1/apprenticeship/programs/{program_id}/occupations/{id}';
13030
+ };
13031
+ export type GetOccupationErrors = {
13032
+ /**
13033
+ * Forbidden
13034
+ */
13035
+ 403: Problem;
13036
+ /**
13037
+ * Not Found
13038
+ */
13039
+ 404: Problem;
13040
+ };
13041
+ export type GetOccupationError = GetOccupationErrors[keyof GetOccupationErrors];
13042
+ export type GetOccupationResponses = {
13043
+ /**
13044
+ * Success
13045
+ */
13046
+ 200: ApprenticeshipOccupationResponseObject;
13047
+ };
13048
+ export type GetOccupationResponse = GetOccupationResponses[keyof GetOccupationResponses];
12891
13049
  export type UpdateOccupationData = {
12892
13050
  body?: ApprenticeshipOccupationUpdateParameters;
12893
13051
  path: {
@@ -12980,7 +13138,11 @@ export type CreateEmployerData = {
12980
13138
  };
12981
13139
  export type CreateEmployerErrors = {
12982
13140
  /**
12983
- * Forbidden
13141
+ * Bad Request
13142
+ */
13143
+ 400: Problem;
13144
+ /**
13145
+ * Forbidden. Also returned when `company_id` names a company other than the API key's own.
12984
13146
  */
12985
13147
  403: Problem;
12986
13148
  /**
@@ -13034,7 +13196,11 @@ export type UpdateEmployerData = {
13034
13196
  };
13035
13197
  export type UpdateEmployerErrors = {
13036
13198
  /**
13037
- * Forbidden
13199
+ * Bad Request
13200
+ */
13201
+ 400: Problem;
13202
+ /**
13203
+ * Forbidden. Also returned when `company_id`, sent or stored, names a company other than the API key's own.
13038
13204
  */
13039
13205
  403: Problem;
13040
13206
  /**
@@ -13123,6 +13289,62 @@ export type CreateProgramResponses = {
13123
13289
  201: ApprenticeshipProgramResponseObject;
13124
13290
  };
13125
13291
  export type CreateProgramResponse = CreateProgramResponses[keyof CreateProgramResponses];
13292
+ export type DeleteProgramData = {
13293
+ body?: never;
13294
+ path: {
13295
+ id: string;
13296
+ };
13297
+ query?: never;
13298
+ url: '/api/v1/apprenticeship/programs/{id}';
13299
+ };
13300
+ export type DeleteProgramErrors = {
13301
+ /**
13302
+ * Forbidden
13303
+ */
13304
+ 403: Problem;
13305
+ /**
13306
+ * Not Found
13307
+ */
13308
+ 404: Problem;
13309
+ /**
13310
+ * Unprocessable Content
13311
+ */
13312
+ 422: Problem;
13313
+ };
13314
+ export type DeleteProgramError = DeleteProgramErrors[keyof DeleteProgramErrors];
13315
+ export type DeleteProgramResponses = {
13316
+ /**
13317
+ * No Content
13318
+ */
13319
+ 204: void;
13320
+ };
13321
+ export type DeleteProgramResponse = DeleteProgramResponses[keyof DeleteProgramResponses];
13322
+ export type GetProgramData = {
13323
+ body?: never;
13324
+ path: {
13325
+ id: string;
13326
+ };
13327
+ query?: never;
13328
+ url: '/api/v1/apprenticeship/programs/{id}';
13329
+ };
13330
+ export type GetProgramErrors = {
13331
+ /**
13332
+ * Forbidden
13333
+ */
13334
+ 403: Problem;
13335
+ /**
13336
+ * Not Found
13337
+ */
13338
+ 404: Problem;
13339
+ };
13340
+ export type GetProgramError = GetProgramErrors[keyof GetProgramErrors];
13341
+ export type GetProgramResponses = {
13342
+ /**
13343
+ * Success
13344
+ */
13345
+ 200: ApprenticeshipProgramResponseObject;
13346
+ };
13347
+ export type GetProgramResponse = GetProgramResponses[keyof GetProgramResponses];
13126
13348
  export type UpdateProgramData = {
13127
13349
  body?: ApprenticeshipProgramUpdateParameters;
13128
13350
  path: {
@@ -13213,6 +13435,10 @@ export type CreatePeriodData = {
13213
13435
  url: '/api/v1/apprenticeship/wage_schedules/{wage_schedule_id}/periods';
13214
13436
  };
13215
13437
  export type CreatePeriodErrors = {
13438
+ /**
13439
+ * Bad Request
13440
+ */
13441
+ 400: Problem;
13216
13442
  /**
13217
13443
  * Forbidden
13218
13444
  */
@@ -13240,6 +13466,10 @@ export type UpdatePeriodData = {
13240
13466
  url: '/api/v1/apprenticeship/wage_schedules/{wage_schedule_id}/periods/{id}';
13241
13467
  };
13242
13468
  export type UpdatePeriodErrors = {
13469
+ /**
13470
+ * Bad Request
13471
+ */
13472
+ 400: Problem;
13243
13473
  /**
13244
13474
  * Forbidden
13245
13475
  */
@@ -13248,6 +13478,10 @@ export type UpdatePeriodErrors = {
13248
13478
  * Not Found
13249
13479
  */
13250
13480
  404: Problem;
13481
+ /**
13482
+ * Unprocessable Content
13483
+ */
13484
+ 422: Problem;
13251
13485
  };
13252
13486
  export type UpdatePeriodError = UpdatePeriodErrors[keyof UpdatePeriodErrors];
13253
13487
  export type UpdatePeriodResponses = {
@@ -13321,6 +13555,10 @@ export type CreateWageScheduleData = {
13321
13555
  url: '/api/v1/apprenticeship/occupations/{occupation_id}/wage_schedules';
13322
13556
  };
13323
13557
  export type CreateWageScheduleErrors = {
13558
+ /**
13559
+ * Bad Request
13560
+ */
13561
+ 400: Problem;
13324
13562
  /**
13325
13563
  * Forbidden
13326
13564
  */
@@ -13338,6 +13576,64 @@ export type CreateWageScheduleResponses = {
13338
13576
  201: ApprenticeshipWageScheduleResponseObject;
13339
13577
  };
13340
13578
  export type CreateWageScheduleResponse = CreateWageScheduleResponses[keyof CreateWageScheduleResponses];
13579
+ export type DeleteWageScheduleData = {
13580
+ body?: never;
13581
+ path: {
13582
+ occupation_id: string;
13583
+ id: string;
13584
+ };
13585
+ query?: never;
13586
+ url: '/api/v1/apprenticeship/occupations/{occupation_id}/wage_schedules/{id}';
13587
+ };
13588
+ export type DeleteWageScheduleErrors = {
13589
+ /**
13590
+ * Forbidden
13591
+ */
13592
+ 403: Problem;
13593
+ /**
13594
+ * Not Found
13595
+ */
13596
+ 404: Problem;
13597
+ /**
13598
+ * Unprocessable Content
13599
+ */
13600
+ 422: Problem;
13601
+ };
13602
+ export type DeleteWageScheduleError = DeleteWageScheduleErrors[keyof DeleteWageScheduleErrors];
13603
+ export type DeleteWageScheduleResponses = {
13604
+ /**
13605
+ * No Content
13606
+ */
13607
+ 204: void;
13608
+ };
13609
+ export type DeleteWageScheduleResponse = DeleteWageScheduleResponses[keyof DeleteWageScheduleResponses];
13610
+ export type GetWageScheduleData = {
13611
+ body?: never;
13612
+ path: {
13613
+ occupation_id: string;
13614
+ id: string;
13615
+ };
13616
+ query?: never;
13617
+ url: '/api/v1/apprenticeship/occupations/{occupation_id}/wage_schedules/{id}';
13618
+ };
13619
+ export type GetWageScheduleErrors = {
13620
+ /**
13621
+ * Forbidden
13622
+ */
13623
+ 403: Problem;
13624
+ /**
13625
+ * Not Found
13626
+ */
13627
+ 404: Problem;
13628
+ };
13629
+ export type GetWageScheduleError = GetWageScheduleErrors[keyof GetWageScheduleErrors];
13630
+ export type GetWageScheduleResponses = {
13631
+ /**
13632
+ * Success
13633
+ */
13634
+ 200: ApprenticeshipWageScheduleResponseObject;
13635
+ };
13636
+ export type GetWageScheduleResponse = GetWageScheduleResponses[keyof GetWageScheduleResponses];
13341
13637
  export type UpdateWageScheduleData = {
13342
13638
  body?: ApprenticeshipWageScheduleUpdateParameters;
13343
13639
  path: {
@@ -13348,6 +13644,10 @@ export type UpdateWageScheduleData = {
13348
13644
  url: '/api/v1/apprenticeship/occupations/{occupation_id}/wage_schedules/{id}';
13349
13645
  };
13350
13646
  export type UpdateWageScheduleErrors = {
13647
+ /**
13648
+ * Bad Request
13649
+ */
13650
+ 400: Problem;
13351
13651
  /**
13352
13652
  * Forbidden
13353
13653
  */
@@ -16143,13 +16443,17 @@ export type CreatePackageData = {
16143
16443
  };
16144
16444
  export type CreatePackageErrors = {
16145
16445
  /**
16146
- * Bad Request (missing performed_by_user_id)
16446
+ * Bad Request
16147
16447
  */
16148
16448
  400: Problem;
16149
16449
  /**
16150
16450
  * Forbidden
16151
16451
  */
16152
16452
  403: Problem;
16453
+ /**
16454
+ * Not Found
16455
+ */
16456
+ 404: Problem;
16153
16457
  /**
16154
16458
  * Unprocessable Content
16155
16459
  */
@@ -16224,6 +16528,10 @@ export type UpdatePackageData = {
16224
16528
  url: '/api/v1/certifications/packages/{id}';
16225
16529
  };
16226
16530
  export type UpdatePackageErrors = {
16531
+ /**
16532
+ * Bad Request
16533
+ */
16534
+ 400: Problem;
16227
16535
  /**
16228
16536
  * Forbidden
16229
16537
  */
@@ -16520,6 +16828,10 @@ export type UpdateCertificationData = {
16520
16828
  url: '/api/v1/certifications/{id}';
16521
16829
  };
16522
16830
  export type UpdateCertificationErrors = {
16831
+ /**
16832
+ * Bad Request
16833
+ */
16834
+ 400: Problem;
16523
16835
  /**
16524
16836
  * Forbidden
16525
16837
  */
@@ -16610,6 +16922,62 @@ export type CreateDepartmentResponses = {
16610
16922
  201: DepartmentResponseObject;
16611
16923
  };
16612
16924
  export type CreateDepartmentResponse = CreateDepartmentResponses[keyof CreateDepartmentResponses];
16925
+ export type DeleteDepartmentData = {
16926
+ body?: never;
16927
+ path: {
16928
+ id: string;
16929
+ };
16930
+ query?: never;
16931
+ url: '/api/v1/companies/departments/{id}';
16932
+ };
16933
+ export type DeleteDepartmentErrors = {
16934
+ /**
16935
+ * Forbidden
16936
+ */
16937
+ 403: Problem;
16938
+ /**
16939
+ * Not Found
16940
+ */
16941
+ 404: Problem;
16942
+ /**
16943
+ * Unprocessable Content
16944
+ */
16945
+ 422: Problem;
16946
+ };
16947
+ export type DeleteDepartmentError = DeleteDepartmentErrors[keyof DeleteDepartmentErrors];
16948
+ export type DeleteDepartmentResponses = {
16949
+ /**
16950
+ * No Content
16951
+ */
16952
+ 204: void;
16953
+ };
16954
+ export type DeleteDepartmentResponse = DeleteDepartmentResponses[keyof DeleteDepartmentResponses];
16955
+ export type GetDepartmentData = {
16956
+ body?: never;
16957
+ path: {
16958
+ id: string;
16959
+ };
16960
+ query?: never;
16961
+ url: '/api/v1/companies/departments/{id}';
16962
+ };
16963
+ export type GetDepartmentErrors = {
16964
+ /**
16965
+ * Forbidden
16966
+ */
16967
+ 403: Problem;
16968
+ /**
16969
+ * Not Found
16970
+ */
16971
+ 404: Problem;
16972
+ };
16973
+ export type GetDepartmentError = GetDepartmentErrors[keyof GetDepartmentErrors];
16974
+ export type GetDepartmentResponses = {
16975
+ /**
16976
+ * Success
16977
+ */
16978
+ 200: DepartmentResponseObject;
16979
+ };
16980
+ export type GetDepartmentResponse = GetDepartmentResponses[keyof GetDepartmentResponses];
16613
16981
  export type UpdateDepartmentData = {
16614
16982
  body: DepartmentUpdateParameters;
16615
16983
  path: {
@@ -18429,6 +18797,14 @@ export type ListJobsData = {
18429
18797
  * Returns jobs whose production_tracking_kind matches. One of `none`, `feature`, or `quantity`.
18430
18798
  */
18431
18799
  'filter[production_tracking_kind]'?: 'none' | 'feature' | 'quantity';
18800
+ /**
18801
+ * Fuzzy-matches the job name (trigram word-similarity). Matches the name column only — not display ID, company, or site names.
18802
+ */
18803
+ 'filter[name]'?: string;
18804
+ /**
18805
+ * Returns jobs whose purchase order number contains this substring (case-insensitive).
18806
+ */
18807
+ 'filter[purchase_order_number]'?: string;
18432
18808
  /**
18433
18809
  * This pagination cursor corresponds to the cursor value found in the response in
18434
18810
  * `meta.page.next_cursor`.
@@ -19891,6 +20267,36 @@ export type CreatePayRateRulePackageResponses = {
19891
20267
  201: PayRatesRulePackageResponseObject;
19892
20268
  };
19893
20269
  export type CreatePayRateRulePackageResponse = CreatePayRateRulePackageResponses[keyof CreatePayRateRulePackageResponses];
20270
+ export type DeletePayRateRulePackageData = {
20271
+ body?: never;
20272
+ path: {
20273
+ id: string;
20274
+ };
20275
+ query?: never;
20276
+ url: '/api/v1/pay/rates/rule_packages/{id}';
20277
+ };
20278
+ export type DeletePayRateRulePackageErrors = {
20279
+ /**
20280
+ * Forbidden
20281
+ */
20282
+ 403: Problem;
20283
+ /**
20284
+ * Not Found
20285
+ */
20286
+ 404: Problem;
20287
+ /**
20288
+ * Unprocessable Content
20289
+ */
20290
+ 422: Problem;
20291
+ };
20292
+ export type DeletePayRateRulePackageError = DeletePayRateRulePackageErrors[keyof DeletePayRateRulePackageErrors];
20293
+ export type DeletePayRateRulePackageResponses = {
20294
+ /**
20295
+ * No Content
20296
+ */
20297
+ 204: void;
20298
+ };
20299
+ export type DeletePayRateRulePackageResponse = DeletePayRateRulePackageResponses[keyof DeletePayRateRulePackageResponses];
19894
20300
  export type GetPayRateRulePackageData = {
19895
20301
  body?: never;
19896
20302
  path: {
@@ -19917,6 +20323,40 @@ export type GetPayRateRulePackageResponses = {
19917
20323
  200: PayRatesRulePackageResponseObject;
19918
20324
  };
19919
20325
  export type GetPayRateRulePackageResponse = GetPayRateRulePackageResponses[keyof GetPayRateRulePackageResponses];
20326
+ export type UpdatePayRateRulePackageData = {
20327
+ body?: PayRatesRulePackageUpdateParameters;
20328
+ path: {
20329
+ id: string;
20330
+ };
20331
+ query?: never;
20332
+ url: '/api/v1/pay/rates/rule_packages/{id}';
20333
+ };
20334
+ export type UpdatePayRateRulePackageErrors = {
20335
+ /**
20336
+ * Bad Request
20337
+ */
20338
+ 400: Problem;
20339
+ /**
20340
+ * Forbidden
20341
+ */
20342
+ 403: Problem;
20343
+ /**
20344
+ * Not Found
20345
+ */
20346
+ 404: Problem;
20347
+ /**
20348
+ * Unprocessable Content
20349
+ */
20350
+ 422: Problem;
20351
+ };
20352
+ export type UpdatePayRateRulePackageError = UpdatePayRateRulePackageErrors[keyof UpdatePayRateRulePackageErrors];
20353
+ export type UpdatePayRateRulePackageResponses = {
20354
+ /**
20355
+ * Success
20356
+ */
20357
+ 200: PayRatesRulePackageResponseObject;
20358
+ };
20359
+ export type UpdatePayRateRulePackageResponse = UpdatePayRateRulePackageResponses[keyof UpdatePayRateRulePackageResponses];
19920
20360
  export type ListAggregateTimeImportsData = {
19921
20361
  body?: never;
19922
20362
  path: {
@@ -19931,6 +20371,7 @@ export type ListAggregateTimeImportsData = {
19931
20371
  * * `success`
19932
20372
  * * `failed`
19933
20373
  * * `superseded`
20374
+ * * `withdrawn`
19934
20375
  *
19935
20376
  */
19936
20377
  'filter[status]'?: string;
@@ -20060,6 +20501,7 @@ export type ListDsptchCprImportsData = {
20060
20501
  * * `success`
20061
20502
  * * `failed`
20062
20503
  * * `superseded`
20504
+ * * `withdrawn`
20063
20505
  *
20064
20506
  */
20065
20507
  'filter[status]'?: string;
@@ -20189,6 +20631,7 @@ export type ListTimeEntryImportsData = {
20189
20631
  * * `success`
20190
20632
  * * `failed`
20191
20633
  * * `superseded`
20634
+ * * `withdrawn`
20192
20635
  *
20193
20636
  */
20194
20637
  'filter[status]'?: string;
@@ -20712,6 +21155,7 @@ export type ListPaystubImportsData = {
20712
21155
  * * `success`
20713
21156
  * * `failed`
20714
21157
  * * `superseded`
21158
+ * * `withdrawn`
20715
21159
  *
20716
21160
  */
20717
21161
  'filter[status]'?: string;
@@ -21620,7 +22064,7 @@ export type DeleteEmploymentScheduledChangeData = {
21620
22064
  */
21621
22065
  employment_id: string;
21622
22066
  /**
21623
- * The existing strictly future boundary, as a company-local date.
22067
+ * The existing exact boundary, as a company-local date.
21624
22068
  */
21625
22069
  effective_date: string;
21626
22070
  };
@@ -21667,7 +22111,7 @@ export type UpdateEmploymentScheduledChangeData = {
21667
22111
  */
21668
22112
  employment_id: string;
21669
22113
  /**
21670
- * The existing strictly future boundary, as a company-local date.
22114
+ * The existing exact boundary, as a company-local date.
21671
22115
  */
21672
22116
  effective_date: string;
21673
22117
  };
@@ -22587,6 +23031,10 @@ export type ListProjectsData = {
22587
23031
  * Return only projects whose external_id matches this value exactly.
22588
23032
  */
22589
23033
  'filter[external_id]'?: string;
23034
+ /**
23035
+ * Fuzzy-matches the project name (trigram word-similarity). Matches the name column only — not external_id.
23036
+ */
23037
+ 'filter[name]'?: string;
22590
23038
  'filter[created_at][gte]'?: string;
22591
23039
  'filter[created_at][lte]'?: string;
22592
23040
  'filter[updated_at][gte]'?: string;
@@ -22750,6 +23198,32 @@ export type CreateCompanyUserDetailResponses = {
22750
23198
  201: PwaCompanyUserDetailsResponseObject;
22751
23199
  };
22752
23200
  export type CreateCompanyUserDetailResponse = CreateCompanyUserDetailResponses[keyof CreateCompanyUserDetailResponses];
23201
+ export type DeleteCompanyUserDetailData = {
23202
+ body?: never;
23203
+ path: {
23204
+ id: string;
23205
+ };
23206
+ query?: never;
23207
+ url: '/api/v1/pwa/company_user_details/{id}';
23208
+ };
23209
+ export type DeleteCompanyUserDetailErrors = {
23210
+ /**
23211
+ * Forbidden
23212
+ */
23213
+ 403: Problem;
23214
+ /**
23215
+ * Not Found
23216
+ */
23217
+ 404: Problem;
23218
+ };
23219
+ export type DeleteCompanyUserDetailError = DeleteCompanyUserDetailErrors[keyof DeleteCompanyUserDetailErrors];
23220
+ export type DeleteCompanyUserDetailResponses = {
23221
+ /**
23222
+ * No Content
23223
+ */
23224
+ 204: void;
23225
+ };
23226
+ export type DeleteCompanyUserDetailResponse = DeleteCompanyUserDetailResponses[keyof DeleteCompanyUserDetailResponses];
22753
23227
  export type UpdateCompanyUserDetailData = {
22754
23228
  body: PwaCompanyUserDetailsUpdateParameters;
22755
23229
  path: {
@@ -23227,6 +23701,10 @@ export type CreatePositionErrors = {
23227
23701
  * Forbidden
23228
23702
  */
23229
23703
  403: Problem;
23704
+ /**
23705
+ * Not Found
23706
+ */
23707
+ 404: Problem;
23230
23708
  /**
23231
23709
  * Unprocessable Content
23232
23710
  */
@@ -23240,6 +23718,64 @@ export type CreatePositionResponses = {
23240
23718
  201: PositionResponseObject;
23241
23719
  };
23242
23720
  export type CreatePositionResponse = CreatePositionResponses[keyof CreatePositionResponses];
23721
+ export type DeletePositionData = {
23722
+ body?: never;
23723
+ path: {
23724
+ job_id: string;
23725
+ id: string;
23726
+ };
23727
+ query?: never;
23728
+ url: '/api/v1/jobs/{job_id}/positions/{id}';
23729
+ };
23730
+ export type DeletePositionErrors = {
23731
+ /**
23732
+ * Forbidden
23733
+ */
23734
+ 403: Problem;
23735
+ /**
23736
+ * Not Found
23737
+ */
23738
+ 404: Problem;
23739
+ /**
23740
+ * Unprocessable Content
23741
+ */
23742
+ 422: Problem;
23743
+ };
23744
+ export type DeletePositionError = DeletePositionErrors[keyof DeletePositionErrors];
23745
+ export type DeletePositionResponses = {
23746
+ /**
23747
+ * No Content
23748
+ */
23749
+ 204: void;
23750
+ };
23751
+ export type DeletePositionResponse = DeletePositionResponses[keyof DeletePositionResponses];
23752
+ export type GetPositionData = {
23753
+ body?: never;
23754
+ path: {
23755
+ job_id: string;
23756
+ id: string;
23757
+ };
23758
+ query?: never;
23759
+ url: '/api/v1/jobs/{job_id}/positions/{id}';
23760
+ };
23761
+ export type GetPositionErrors = {
23762
+ /**
23763
+ * Forbidden
23764
+ */
23765
+ 403: Problem;
23766
+ /**
23767
+ * Not Found
23768
+ */
23769
+ 404: Problem;
23770
+ };
23771
+ export type GetPositionError = GetPositionErrors[keyof GetPositionErrors];
23772
+ export type GetPositionResponses = {
23773
+ /**
23774
+ * Success
23775
+ */
23776
+ 200: PositionResponseObject;
23777
+ };
23778
+ export type GetPositionResponse = GetPositionResponses[keyof GetPositionResponses];
23243
23779
  export type UpdatePositionData = {
23244
23780
  body?: PositionParameters;
23245
23781
  path: {
@@ -24028,6 +24564,35 @@ export type DeleteTimeEntryResponses = {
24028
24564
  200: TimeEntryResponseObject;
24029
24565
  };
24030
24566
  export type DeleteTimeEntryResponse = DeleteTimeEntryResponses[keyof DeleteTimeEntryResponses];
24567
+ export type GetTimeEntryData = {
24568
+ body?: never;
24569
+ path: {
24570
+ /**
24571
+ * Unique identifier of the time entry.
24572
+ */
24573
+ id: string;
24574
+ };
24575
+ query?: never;
24576
+ url: '/api/v1/time_entries/{id}';
24577
+ };
24578
+ export type GetTimeEntryErrors = {
24579
+ /**
24580
+ * Forbidden
24581
+ */
24582
+ 403: Problem;
24583
+ /**
24584
+ * Not Found
24585
+ */
24586
+ 404: Problem;
24587
+ };
24588
+ export type GetTimeEntryError = GetTimeEntryErrors[keyof GetTimeEntryErrors];
24589
+ export type GetTimeEntryResponses = {
24590
+ /**
24591
+ * Success
24592
+ */
24593
+ 200: TimeEntryResponseObject;
24594
+ };
24595
+ export type GetTimeEntryResponse = GetTimeEntryResponses[keyof GetTimeEntryResponses];
24031
24596
  export type UpdateTimeEntryData = {
24032
24597
  body: TimeEntryUpdateParameters;
24033
24598
  path: {