@dsptch-work/api-client 0.14.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +72 -0
- package/dist/gen/index.d.ts +2 -2
- package/dist/gen/index.js +1 -1
- package/dist/gen/sdk.gen.d.ts +125 -7
- package/dist/gen/sdk.gen.js +200 -6
- package/dist/gen/types.gen.d.ts +721 -116
- package/dist/gen/zod.gen.d.ts +624 -117
- package/dist/gen/zod.gen.js +260 -24
- package/package.json +2 -2
package/dist/gen/types.gen.d.ts
CHANGED
|
@@ -176,6 +176,12 @@ export type Problem = {
|
|
|
176
176
|
*
|
|
177
177
|
* The resource's timeline already ends at a scheduled termination, and scheduling a second one would silently move it. Moving an end is two steps on purpose: cancel the standing termination, then schedule the one you want.
|
|
178
178
|
*
|
|
179
|
+
* ### import_in_progress
|
|
180
|
+
*
|
|
181
|
+
* **Import In Progress**
|
|
182
|
+
*
|
|
183
|
+
* The parent already has an import that has not reported yet. Acceptance is synchronous but the write happens in the background, so a second file would be validated against records the queued import has not written to yet and both would apply. Poll the earlier import until it reports, then submit again.
|
|
184
|
+
*
|
|
179
185
|
* ### product_archived
|
|
180
186
|
*
|
|
181
187
|
* **Product Archived**
|
|
@@ -351,7 +357,7 @@ export type Problem = {
|
|
|
351
357
|
* Another write to the same resource held it for longer than this request was willing to wait, so nothing was applied. The request itself is fine — resend it unchanged after the `Retry-After` window.
|
|
352
358
|
*
|
|
353
359
|
*/
|
|
354
|
-
export type ProblemTypeCatalog = 'blank_axis' | 'invalid_cursor' | 'invalid_filter_key' | 'invalid_limit' | 'invalid_signature' | 'malformed_body' | 'non_range_filter_value' | 'non_scalar_axis' | 'non_scalar_filter_value' | 'parameter_missing' | 'parameter_not_object' | 'unknown_axis' | 'unknown_key' | 'unsupported_axis' | 'valid_axis_on_timeline' | 'unauthorized' | 'company_scoped_key_required' | 'forbidden' | 'insufficient_api_key_scope' | 'user_scoped_key_required' | 'not_found' | 'already_terminated' | 'product_archived' | 'recorded_since_termination' | 'span_beyond_timeline_end' | 'version_overlap' | 'precondition_failed' | 'attachment_not_image' | 'company_not_employer' | 'confirm_apprenticeship_conflict' | 'destroy_restricted' | 'interval_too_wide' | 'invalid_date' | 'invalid_filter_value' | 'invalid_iso8601_duration' | 'invalid_placement_move' | 'invalid_signed_id' | 'non_numeric_cents' | 'nothing_to_cancel' | 'pagination_failed' | 'subtype_foreign_keys' | 'synced_determination' | 'user_not_company_member' | 'validation_failed' | 'wage_schedule_outside_program' | 'precondition_required' | 'too_many_requests' | 'internal_error' | 'write_contended';
|
|
360
|
+
export type ProblemTypeCatalog = 'blank_axis' | 'invalid_cursor' | 'invalid_filter_key' | 'invalid_limit' | 'invalid_signature' | 'malformed_body' | 'non_range_filter_value' | 'non_scalar_axis' | 'non_scalar_filter_value' | 'parameter_missing' | 'parameter_not_object' | 'unknown_axis' | 'unknown_key' | 'unsupported_axis' | 'valid_axis_on_timeline' | 'unauthorized' | 'company_scoped_key_required' | 'forbidden' | 'insufficient_api_key_scope' | 'user_scoped_key_required' | 'not_found' | 'already_terminated' | 'import_in_progress' | 'product_archived' | 'recorded_since_termination' | 'span_beyond_timeline_end' | 'version_overlap' | 'precondition_failed' | 'attachment_not_image' | 'company_not_employer' | 'confirm_apprenticeship_conflict' | 'destroy_restricted' | 'interval_too_wide' | 'invalid_date' | 'invalid_filter_value' | 'invalid_iso8601_duration' | 'invalid_placement_move' | 'invalid_signed_id' | 'non_numeric_cents' | 'nothing_to_cancel' | 'pagination_failed' | 'subtype_foreign_keys' | 'synced_determination' | 'user_not_company_member' | 'validation_failed' | 'wage_schedule_outside_program' | 'precondition_required' | 'too_many_requests' | 'internal_error' | 'write_contended';
|
|
355
361
|
export type ApiKeyScopeResponseObject = {
|
|
356
362
|
resource: string;
|
|
357
363
|
action: 'read' | 'create' | 'update' | 'delete';
|
|
@@ -364,7 +370,7 @@ export type DirectUploadParameters = {
|
|
|
364
370
|
/**
|
|
365
371
|
* 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.
|
|
366
372
|
*/
|
|
367
|
-
resource: 'assets.items' | 'assets.items.documents' | 'assets.items.service_events' | 'assets.products' | 'assets.vendors' | 'pay_periods.imports.time_entries' | 'users';
|
|
373
|
+
resource: 'assets.items' | 'assets.items.documents' | 'assets.items.service_events' | 'assets.products' | 'assets.vendors' | 'pay_periods.imports.aggregate_times' | 'pay_periods.imports.dsptch_cprs' | 'pay_periods.imports.time_entries' | 'payrolls.payroll_runs.imports.paystubs' | 'users';
|
|
368
374
|
/**
|
|
369
375
|
* Metadata describing the file being registered, before its bytes are uploaded.
|
|
370
376
|
*/
|
|
@@ -2472,6 +2478,15 @@ export type PwaTradeUpdateParameters = {
|
|
|
2472
2478
|
*/
|
|
2473
2479
|
name?: string;
|
|
2474
2480
|
};
|
|
2481
|
+
/**
|
|
2482
|
+
* Parameters for merging one PWA trade (craft) into another in the same pool.
|
|
2483
|
+
*/
|
|
2484
|
+
export type PwaTradeMergeParameters = {
|
|
2485
|
+
/**
|
|
2486
|
+
* ID of the craft to merge into. It absorbs the source's wage determinations and survives; the source is deleted. Must name a different craft than the source, owned by the same project root or standalone job. The source's apprentice-scope decisions transfer with it, except where the target already holds a decision for that occupation — there the target's own verdict stands.
|
|
2487
|
+
*/
|
|
2488
|
+
target_trade_id: string;
|
|
2489
|
+
};
|
|
2475
2490
|
/**
|
|
2476
2491
|
* A reviewed apprentice-scope decision pairing a registered apprenticeship occupation with a craft (trade). The row's existence means the pair was reviewed; scope_status carries the verdict. A pair with no row is undecided and denies apprentice treatment.
|
|
2477
2492
|
*/
|
|
@@ -2717,73 +2732,73 @@ export type JobResponseObject = {
|
|
|
2717
2732
|
[key: string]: unknown;
|
|
2718
2733
|
};
|
|
2719
2734
|
/**
|
|
2720
|
-
* Prevailing-wage / apprenticeship (PWA) compliance details for a job, used in certified-payroll reporting.
|
|
2735
|
+
* Prevailing-wage / apprenticeship (PWA) compliance details for a job, used in certified-payroll reporting. Common fields are always present when this object exists; regional fields appear only when applicable to the job's region and regional PWA mode. The property is null when no PWA details have been configured; PWA tracking modes alone do not materialize it.
|
|
2721
2736
|
*/
|
|
2722
2737
|
export type PwaJobDetailsResponseObject = {
|
|
2723
2738
|
/**
|
|
2724
|
-
*
|
|
2739
|
+
* Role of the company on this job for PWA reporting: one of prime_contractor or sub_contractor; null when unset.
|
|
2725
2740
|
*/
|
|
2726
|
-
|
|
2741
|
+
contractor_type: 'prime_contractor' | 'sub_contractor' | null;
|
|
2727
2742
|
/**
|
|
2728
|
-
*
|
|
2743
|
+
* Whether new positions on the job default to paying the full fringe as cash.
|
|
2729
2744
|
*/
|
|
2730
|
-
|
|
2745
|
+
pay_full_cash_fringe_by_default: boolean;
|
|
2731
2746
|
/**
|
|
2732
|
-
* California DIR
|
|
2747
|
+
* California DIR (Department of Industrial Relations) awarding-body ID; present only for a compatible California prevailing-wage configuration and null when applicable but unset.
|
|
2733
2748
|
*/
|
|
2734
|
-
|
|
2749
|
+
dir_awarding_body_id?: string | null;
|
|
2735
2750
|
/**
|
|
2736
|
-
* California DIR
|
|
2751
|
+
* California DIR project registration ID (an 11-digit number); present only for a compatible California prevailing-wage configuration and null when applicable but unset.
|
|
2737
2752
|
*/
|
|
2738
|
-
|
|
2753
|
+
dir_project_id?: string | null;
|
|
2739
2754
|
/**
|
|
2740
|
-
* California DIR
|
|
2755
|
+
* California DIR project name; present only for a compatible California prevailing-wage configuration and null when applicable but unset.
|
|
2741
2756
|
*/
|
|
2742
|
-
|
|
2757
|
+
dir_project_name?: string | null;
|
|
2743
2758
|
/**
|
|
2744
|
-
* California DIR
|
|
2759
|
+
* California DIR contract ID; present only for a compatible California prevailing-wage configuration and null when applicable but unset.
|
|
2745
2760
|
*/
|
|
2746
|
-
|
|
2761
|
+
dir_contract_id?: string | null;
|
|
2747
2762
|
/**
|
|
2748
|
-
*
|
|
2763
|
+
* California DIR awarding-body name; present only for a compatible California prevailing-wage configuration and null when applicable but unset.
|
|
2749
2764
|
*/
|
|
2750
|
-
|
|
2765
|
+
dir_project_awarding_body_name?: string | null;
|
|
2751
2766
|
/**
|
|
2752
|
-
*
|
|
2767
|
+
* California DIR project number; present only for a compatible California prevailing-wage configuration and null when applicable but unset.
|
|
2753
2768
|
*/
|
|
2754
|
-
|
|
2769
|
+
dir_project_number?: string | null;
|
|
2755
2770
|
/**
|
|
2756
|
-
* Illinois DOL
|
|
2771
|
+
* Illinois DOL (Department of Labor) project ID; present only for a compatible Illinois prevailing-wage configuration and null when applicable but unset.
|
|
2757
2772
|
*/
|
|
2758
|
-
|
|
2773
|
+
il_dol_project_id?: string | null;
|
|
2759
2774
|
/**
|
|
2760
|
-
*
|
|
2775
|
+
* Whether the Illinois project is funded with state capital funds; present only for a compatible Illinois prevailing-wage configuration and null when applicable but unset.
|
|
2761
2776
|
*/
|
|
2762
|
-
|
|
2777
|
+
il_dol_state_capital_funds?: boolean | null;
|
|
2763
2778
|
/**
|
|
2764
|
-
*
|
|
2779
|
+
* Illinois DOL public-body name; present only for a compatible Illinois prevailing-wage configuration and null when applicable but unset.
|
|
2765
2780
|
*/
|
|
2766
|
-
|
|
2781
|
+
il_dol_public_body_name?: string | null;
|
|
2767
2782
|
/**
|
|
2768
|
-
* Illinois DOL
|
|
2783
|
+
* ID of the Illinois DOL public-body contact; present only for a compatible Illinois prevailing-wage configuration and null when applicable but unset.
|
|
2769
2784
|
*/
|
|
2770
|
-
|
|
2785
|
+
il_dol_public_body_contact_id?: string | null;
|
|
2771
2786
|
/**
|
|
2772
|
-
* Illinois
|
|
2787
|
+
* ID of the Illinois DOL public-body address; present only for a compatible Illinois prevailing-wage configuration and null when applicable but unset.
|
|
2773
2788
|
*/
|
|
2774
|
-
|
|
2789
|
+
il_dol_public_body_address_id?: string | null;
|
|
2775
2790
|
/**
|
|
2776
|
-
*
|
|
2791
|
+
* Illinois DOL contract number; present only for a compatible Illinois prevailing-wage configuration and null when applicable but unset.
|
|
2777
2792
|
*/
|
|
2778
|
-
|
|
2793
|
+
il_dol_contract_number?: string | null;
|
|
2779
2794
|
/**
|
|
2780
|
-
*
|
|
2795
|
+
* Illinois SHINES project ID; present only for a compatible Illinois prevailing-wage configuration and null when applicable but unset.
|
|
2781
2796
|
*/
|
|
2782
|
-
|
|
2797
|
+
il_shines_project_id?: string | null;
|
|
2783
2798
|
/**
|
|
2784
|
-
*
|
|
2799
|
+
* New York DOL prevailing-rate-case (PRC) number, a 10-digit identifier; present only for a compatible New York prevailing-wage configuration and null when applicable but unset.
|
|
2785
2800
|
*/
|
|
2786
|
-
|
|
2801
|
+
ny_dol_prc_number?: string | null;
|
|
2787
2802
|
} | null;
|
|
2788
2803
|
/**
|
|
2789
2804
|
* Parameters for creating a job. Sets the job's schedule, work types, address, and optional Prevailing Wage / Apprenticeship (PWA) compliance. Extra keys are accepted, including custom fields.
|
|
@@ -2806,7 +2821,7 @@ export type JobParameters = {
|
|
|
2806
2821
|
*/
|
|
2807
2822
|
requested_by_company_id: string;
|
|
2808
2823
|
/**
|
|
2809
|
-
* ID of the user creating the job. Required.
|
|
2824
|
+
* ID of the user creating the job. Required on create and immutable thereafter — an update that sets, changes, or clears it is rejected.
|
|
2810
2825
|
*/
|
|
2811
2826
|
created_by_user_id: string;
|
|
2812
2827
|
/**
|
|
@@ -2954,17 +2969,17 @@ export type JobParameters = {
|
|
|
2954
2969
|
value?: string | null;
|
|
2955
2970
|
}> | null;
|
|
2956
2971
|
/**
|
|
2957
|
-
* Prevailing-wage / apprenticeship (PWA) compliance details to set on the job;
|
|
2972
|
+
* Prevailing-wage / apprenticeship (PWA) compliance details to set on the job. Omit or send an empty object to make no PWA-details changes; null and non-object values are rejected. The accepted regional keys depend on the effective region and regional PWA mode.
|
|
2958
2973
|
*/
|
|
2959
2974
|
pwa_details?: {
|
|
2960
2975
|
/**
|
|
2961
2976
|
* Role of the company on this job for PWA reporting: one of prime_contractor or sub_contractor; null when unset.
|
|
2962
2977
|
*/
|
|
2963
|
-
contractor_type?:
|
|
2978
|
+
contractor_type?: 'prime_contractor' | 'sub_contractor' | null;
|
|
2964
2979
|
/**
|
|
2965
|
-
* Whether new positions on the job default to paying the full fringe as cash;
|
|
2980
|
+
* Whether new positions on the job default to paying the full fringe as cash. Omit to retain the current value (or use the database default on create); when sent, the value must be true or false.
|
|
2966
2981
|
*/
|
|
2967
|
-
pay_full_cash_fringe_by_default?: boolean
|
|
2982
|
+
pay_full_cash_fringe_by_default?: boolean;
|
|
2968
2983
|
/**
|
|
2969
2984
|
* California DIR (Department of Industrial Relations) awarding-body ID; null when not applicable.
|
|
2970
2985
|
*/
|
|
@@ -3001,14 +3016,6 @@ export type JobParameters = {
|
|
|
3001
3016
|
* Illinois DOL public-body name; null when not applicable.
|
|
3002
3017
|
*/
|
|
3003
3018
|
il_dol_public_body_name?: string | null;
|
|
3004
|
-
/**
|
|
3005
|
-
* Illinois DOL contract number; null when not applicable.
|
|
3006
|
-
*/
|
|
3007
|
-
il_dol_contract_number?: string | null;
|
|
3008
|
-
/**
|
|
3009
|
-
* Illinois SHINES project ID; null when not applicable.
|
|
3010
|
-
*/
|
|
3011
|
-
il_shines_project_id?: string | null;
|
|
3012
3019
|
/**
|
|
3013
3020
|
* ID of the Illinois DOL public-body contact; null when not applicable.
|
|
3014
3021
|
*/
|
|
@@ -3017,11 +3024,19 @@ export type JobParameters = {
|
|
|
3017
3024
|
* ID of the Illinois DOL public-body address; null when not applicable.
|
|
3018
3025
|
*/
|
|
3019
3026
|
il_dol_public_body_address_id?: string | null;
|
|
3027
|
+
/**
|
|
3028
|
+
* Illinois DOL contract number; null when not applicable.
|
|
3029
|
+
*/
|
|
3030
|
+
il_dol_contract_number?: string | null;
|
|
3031
|
+
/**
|
|
3032
|
+
* Illinois SHINES project ID; null when not applicable.
|
|
3033
|
+
*/
|
|
3034
|
+
il_shines_project_id?: string | null;
|
|
3020
3035
|
/**
|
|
3021
3036
|
* New York DOL prevailing-rate-case (PRC) number, a 10-digit identifier; null when not applicable.
|
|
3022
3037
|
*/
|
|
3023
3038
|
ny_dol_prc_number?: string | null;
|
|
3024
|
-
}
|
|
3039
|
+
};
|
|
3025
3040
|
[key: string]: unknown;
|
|
3026
3041
|
};
|
|
3027
3042
|
/**
|
|
@@ -4579,11 +4594,11 @@ export type PayPeriodsResponseObject = {
|
|
|
4579
4594
|
}>;
|
|
4580
4595
|
};
|
|
4581
4596
|
/**
|
|
4582
|
-
* One problem found while processing an accepted import.
|
|
4597
|
+
* One problem found while processing an accepted import, whatever its type.
|
|
4583
4598
|
*/
|
|
4584
|
-
export type
|
|
4599
|
+
export type ImportProcessingError = {
|
|
4585
4600
|
/**
|
|
4586
|
-
* What went wrong, as a stable slug — `no_active_employee`, `time_overlap` and so on. `internal_error` means the import failed on the server rather than on anything in the file; retry it, and contact support if it fails again.
|
|
4601
|
+
* What went wrong, as a stable slug — `no_active_employee`, `job_not_found`, `time_overlap` and so on. The vocabulary varies by import type. `internal_error` means the import failed on the server rather than on anything in the file; retry it, and contact support if it fails again.
|
|
4587
4602
|
*/
|
|
4588
4603
|
code: string;
|
|
4589
4604
|
/**
|
|
@@ -4601,6 +4616,156 @@ export type TimeEntryImportProcessingError = {
|
|
|
4601
4616
|
[key: string]: unknown;
|
|
4602
4617
|
};
|
|
4603
4618
|
};
|
|
4619
|
+
/**
|
|
4620
|
+
* One bulk upload of day-level hours against a pay period, and how it turned out.
|
|
4621
|
+
*/
|
|
4622
|
+
export type AggregateTimeImportResponseObject = {
|
|
4623
|
+
/**
|
|
4624
|
+
* Unique identifier.
|
|
4625
|
+
*/
|
|
4626
|
+
id: string;
|
|
4627
|
+
/**
|
|
4628
|
+
* The pay period the hours were imported against.
|
|
4629
|
+
*/
|
|
4630
|
+
pay_period_id: string;
|
|
4631
|
+
/**
|
|
4632
|
+
* Where the import has got to. `pending` until the background job starts, then `success` or `failed`.
|
|
4633
|
+
*/
|
|
4634
|
+
status: 'pending' | 'processing' | 'processed' | 'success' | 'failed';
|
|
4635
|
+
/**
|
|
4636
|
+
* 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.
|
|
4637
|
+
*/
|
|
4638
|
+
processed_rows_count: number;
|
|
4639
|
+
/**
|
|
4640
|
+
* Every problem found after the import was accepted, oldest row first; empty when there were none, and always empty while the import is `pending`.
|
|
4641
|
+
*/
|
|
4642
|
+
processing_errors: Array<ImportProcessingError>;
|
|
4643
|
+
/**
|
|
4644
|
+
* When processing finished; null while the import is still pending.
|
|
4645
|
+
*/
|
|
4646
|
+
completed_at: string | null;
|
|
4647
|
+
/**
|
|
4648
|
+
* When the import was submitted.
|
|
4649
|
+
*/
|
|
4650
|
+
created_at: string;
|
|
4651
|
+
/**
|
|
4652
|
+
* When the import was last modified.
|
|
4653
|
+
*/
|
|
4654
|
+
updated_at: string;
|
|
4655
|
+
};
|
|
4656
|
+
/**
|
|
4657
|
+
* Submit a spreadsheet of day-level hours for a pay period. The pay period's pay schedule must keep time in aggregate mode and take pay in base mode; a schedule that keeps time as entries, or that aggregates pay, is refused. The file carries employee_payroll_id, job_id and week_ending_date, the three wage pay rates one_x_wage_pay_rate, one_five_x_wage_pay_rate and two_x_wage_pay_rate, and one hours column per multiplier per day of the period — seven days each for a weekly schedule, fourteen for a biweekly one. All of them must be present as column headers, or the file is refused naming the ones missing. Of those, employee_payroll_id, job_id and week_ending_date must also carry a value on every row; a rate left blank falls back to the one the employee's position and wage determination already carry. federal_labor_classification and regional_labor_classification are read when present, and are needed only where a position has more than one wage determination in a jurisdiction. Header matching ignores case and treats spaces as underscores, and column order does not matter. Any other column is refused: a name this import does not read would be dropped without trace, so the file is rejected naming it rather than applied in part.
|
|
4658
|
+
*
|
|
4659
|
+
* Submitting the same work twice is refused rather than doubled: an import will not write onto a time card that already holds data, so a retry after a submission that already succeeded answers 422 naming `time_card_has_data`, and nothing is written. The guard is per time card, not per file, so a corrected file for the same worker and period is refused the same way — clear that period's data first.
|
|
4660
|
+
*
|
|
4661
|
+
* Because acceptance is synchronous but the write happens in the background, only one import at a time is accepted for a pay period: while an earlier one is still `pending`, a second answers 409 naming `import_in_progress`, and nothing is written. Poll the earlier import until it reports, then submit again.
|
|
4662
|
+
*/
|
|
4663
|
+
export type AggregateTimeImportParameters = {
|
|
4664
|
+
/**
|
|
4665
|
+
* A signed_id from POST /api/v1/direct_uploads identifying the uploaded spreadsheet. Register the upload naming `pay_periods.imports.aggregate_times` — a signed_id issued for any other resource will not resolve here.
|
|
4666
|
+
*/
|
|
4667
|
+
file_signed_id: string;
|
|
4668
|
+
};
|
|
4669
|
+
/**
|
|
4670
|
+
* One bulk upload of a certified payroll report against a pay period, and how it turned out.
|
|
4671
|
+
*/
|
|
4672
|
+
export type DsptchCprImportResponseObject = {
|
|
4673
|
+
/**
|
|
4674
|
+
* Unique identifier.
|
|
4675
|
+
*/
|
|
4676
|
+
id: string;
|
|
4677
|
+
/**
|
|
4678
|
+
* The pay period the report was imported against.
|
|
4679
|
+
*/
|
|
4680
|
+
pay_period_id: string;
|
|
4681
|
+
/**
|
|
4682
|
+
* Where the import has got to. `pending` until the background job starts, then `success` or `failed`.
|
|
4683
|
+
*/
|
|
4684
|
+
status: 'pending' | 'processing' | 'processed' | 'success' | 'failed';
|
|
4685
|
+
/**
|
|
4686
|
+
* 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.
|
|
4687
|
+
*/
|
|
4688
|
+
processed_rows_count: number;
|
|
4689
|
+
/**
|
|
4690
|
+
* Every problem found after the import was accepted, oldest row first; empty when there were none, and always empty while the import is `pending`.
|
|
4691
|
+
*/
|
|
4692
|
+
processing_errors: Array<ImportProcessingError>;
|
|
4693
|
+
/**
|
|
4694
|
+
* When processing finished; null while the import is still pending.
|
|
4695
|
+
*/
|
|
4696
|
+
completed_at: string | null;
|
|
4697
|
+
/**
|
|
4698
|
+
* When the import was submitted.
|
|
4699
|
+
*/
|
|
4700
|
+
created_at: string;
|
|
4701
|
+
/**
|
|
4702
|
+
* When the import was last modified.
|
|
4703
|
+
*/
|
|
4704
|
+
updated_at: string;
|
|
4705
|
+
};
|
|
4706
|
+
/**
|
|
4707
|
+
* Submit a certified payroll report for a pay period. The pay period's pay schedule must be in aggregate time mode; a schedule that keeps time as entries is refused. The file carries every column of the DSPTCH CPR template: the payroll, job and employee identifiers, the employer and employee pay, contribution and deduction amounts, the three wage pay rates, and one hours column per multiplier per day of the period — seven days each for a weekly schedule, fourteen for a biweekly one. All of them must be present as column headers, or the file is refused naming the ones missing. Of those, job_id, week_ending_date, employee_payroll_id, one_x_wage_pay_rate and one_five_x_wage_pay_rate must also carry a value on every row, and two_x_wage_pay_rate must whenever any 2x hours column does. federal_labor_classification and regional_labor_classification are read when present, and are needed only where a position has more than one wage determination in a jurisdiction. Header matching ignores case and treats spaces as underscores, and column order does not matter. Any other column is refused: a name this import does not read would be dropped without trace, so the file is rejected naming it rather than applied in part.
|
|
4708
|
+
*
|
|
4709
|
+
* Submitting the same work twice is refused rather than doubled: an import will not write onto a time card that already holds data, so a retry after a submission that already succeeded answers 422 naming `time_card_has_data`, and nothing is written. The guard is per time card, not per file, so a corrected file for the same worker and period is refused the same way — clear that period's data first.
|
|
4710
|
+
*
|
|
4711
|
+
* Because acceptance is synchronous but the write happens in the background, only one import at a time is accepted for a pay period: while an earlier one is still `pending` or `processing`, a second answers 409 naming `import_in_progress`, and nothing is written. Poll the earlier import until it reports, then submit again.
|
|
4712
|
+
*/
|
|
4713
|
+
export type DsptchCprImportParameters = {
|
|
4714
|
+
/**
|
|
4715
|
+
* A signed_id from POST /api/v1/direct_uploads identifying the uploaded spreadsheet. Register the upload naming `pay_periods.imports.dsptch_cprs` — a signed_id issued for any other resource will not resolve here.
|
|
4716
|
+
*/
|
|
4717
|
+
file_signed_id: string;
|
|
4718
|
+
};
|
|
4719
|
+
/**
|
|
4720
|
+
* One bulk upload of paystub amounts against a payroll run, and how it turned out.
|
|
4721
|
+
*/
|
|
4722
|
+
export type PaystubImportResponseObject = {
|
|
4723
|
+
/**
|
|
4724
|
+
* Unique identifier.
|
|
4725
|
+
*/
|
|
4726
|
+
id: string;
|
|
4727
|
+
/**
|
|
4728
|
+
* The payroll run the amounts were imported against.
|
|
4729
|
+
*/
|
|
4730
|
+
payrolls_payroll_run_id: string;
|
|
4731
|
+
/**
|
|
4732
|
+
* Where the import has got to. `pending` until the background job starts, then `success` or `failed`.
|
|
4733
|
+
*/
|
|
4734
|
+
status: 'pending' | 'processing' | 'processed' | 'success' | 'failed';
|
|
4735
|
+
/**
|
|
4736
|
+
* 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.
|
|
4737
|
+
*/
|
|
4738
|
+
processed_rows_count: number;
|
|
4739
|
+
/**
|
|
4740
|
+
* Every problem found after the import was accepted, oldest row first; empty when there were none, and always empty while the import is `pending`.
|
|
4741
|
+
*/
|
|
4742
|
+
processing_errors: Array<ImportProcessingError>;
|
|
4743
|
+
/**
|
|
4744
|
+
* When processing finished; null while the import is still pending.
|
|
4745
|
+
*/
|
|
4746
|
+
completed_at: string | null;
|
|
4747
|
+
/**
|
|
4748
|
+
* When the import was submitted.
|
|
4749
|
+
*/
|
|
4750
|
+
created_at: string;
|
|
4751
|
+
/**
|
|
4752
|
+
* When the import was last modified.
|
|
4753
|
+
*/
|
|
4754
|
+
updated_at: string;
|
|
4755
|
+
};
|
|
4756
|
+
/**
|
|
4757
|
+
* Submit a spreadsheet of paystub amounts for a payroll run. The run's pay schedule must not be connected to a payroll provider; where one is configured the paystubs come from that connection and a file is refused. Each row is one amount: payroll_id names the employee, field_name names the pay, deduction or contribution the amount belongs to, and amount carries the value. A field_name the company has not mapped before is created on first use. Schedules that do not already record the contributor on that mapping also require a contributor column of EMPLOYEE or EMPLOYER; where the mapping carries it, the column is not read and its presence is refused. All of the columns the schedule expects must be present as headers and carry a value on every row, or the file is refused naming what is missing. Header matching ignores case and treats spaces as underscores, and column order does not matter. Any other column is refused: a name this import does not read would be dropped without trace, so the file is rejected naming it rather than applied in part.
|
|
4758
|
+
*
|
|
4759
|
+
* Submitting the same pay twice is refused rather than doubled: an import will not write onto a time card that already carries paystub data, so a retry after a submission that already succeeded answers 422 naming `time_card_has_paystub_data`, and no line item is written. A unique index on the line items backs that guard at the database.
|
|
4760
|
+
*
|
|
4761
|
+
* Because acceptance is synchronous but the write happens in the background, only one import at a time is accepted for a payroll run: while an earlier one is still `pending`, a second answers 409 naming `import_in_progress`, and nothing is written. Poll the earlier import until it reports, then submit again.
|
|
4762
|
+
*/
|
|
4763
|
+
export type PaystubImportParameters = {
|
|
4764
|
+
/**
|
|
4765
|
+
* A signed_id from POST /api/v1/direct_uploads identifying the uploaded spreadsheet. Register the upload naming `payrolls.payroll_runs.imports.paystubs` — a signed_id issued for any other resource will not resolve here.
|
|
4766
|
+
*/
|
|
4767
|
+
file_signed_id: string;
|
|
4768
|
+
};
|
|
4604
4769
|
/**
|
|
4605
4770
|
* One bulk upload of time entries against a pay period, and how it turned out.
|
|
4606
4771
|
*/
|
|
@@ -4624,7 +4789,7 @@ export type TimeEntryImportResponseObject = {
|
|
|
4624
4789
|
/**
|
|
4625
4790
|
* Every problem found after the import was accepted, oldest row first; empty when there were none, and always empty while the import is `pending`.
|
|
4626
4791
|
*/
|
|
4627
|
-
processing_errors: Array<
|
|
4792
|
+
processing_errors: Array<ImportProcessingError>;
|
|
4628
4793
|
/**
|
|
4629
4794
|
* When processing finished; null while the import is still pending.
|
|
4630
4795
|
*/
|
|
@@ -4640,6 +4805,8 @@ export type TimeEntryImportResponseObject = {
|
|
|
4640
4805
|
};
|
|
4641
4806
|
/**
|
|
4642
4807
|
* Submit a spreadsheet of time entries for a pay period. All seven of payroll_id, start_time, end_time, timecode, job_id, state and description must be present as column headers, or the file is refused naming the ones missing. Of those, payroll_id, start_time, end_time, timecode and state must also carry a value on every row. features, federal_labor_classification and regional_labor_classification are read when present. Header matching ignores case and treats spaces as underscores, and column order does not matter. Any other column is refused: a name this import does not read would be dropped without trace, so the file is rejected naming it rather than applied in part.
|
|
4808
|
+
*
|
|
4809
|
+
* Because acceptance is synchronous but the write happens in the background, only one import at a time is accepted for a pay period: while an earlier one is still `pending` or `processing`, a second answers 409 naming `import_in_progress`, and nothing is written. Poll the earlier import until it reports, then submit again.
|
|
4643
4810
|
*/
|
|
4644
4811
|
export type TimeEntryImportParameters = {
|
|
4645
4812
|
/**
|
|
@@ -15694,6 +15861,10 @@ export type CreateJobData = {
|
|
|
15694
15861
|
url: '/api/v1/jobs';
|
|
15695
15862
|
};
|
|
15696
15863
|
export type CreateJobErrors = {
|
|
15864
|
+
/**
|
|
15865
|
+
* Bad Request
|
|
15866
|
+
*/
|
|
15867
|
+
400: Problem;
|
|
15697
15868
|
/**
|
|
15698
15869
|
* Forbidden
|
|
15699
15870
|
*/
|
|
@@ -15746,6 +15917,10 @@ export type UpdateJobData = {
|
|
|
15746
15917
|
url: '/api/v1/jobs/{id}';
|
|
15747
15918
|
};
|
|
15748
15919
|
export type UpdateJobErrors = {
|
|
15920
|
+
/**
|
|
15921
|
+
* Bad Request
|
|
15922
|
+
*/
|
|
15923
|
+
400: Problem;
|
|
15749
15924
|
/**
|
|
15750
15925
|
* Forbidden
|
|
15751
15926
|
*/
|
|
@@ -16422,7 +16597,7 @@ export type UpdateOvertimeRuleResponses = {
|
|
|
16422
16597
|
200: OvertimeRuleResponseObject;
|
|
16423
16598
|
};
|
|
16424
16599
|
export type UpdateOvertimeRuleResponse = UpdateOvertimeRuleResponses[keyof UpdateOvertimeRuleResponses];
|
|
16425
|
-
export type
|
|
16600
|
+
export type ListAggregateTimeImportsData = {
|
|
16426
16601
|
body?: never;
|
|
16427
16602
|
path: {
|
|
16428
16603
|
pay_period_id: string;
|
|
@@ -16457,9 +16632,9 @@ export type ListTimeEntryImportsData = {
|
|
|
16457
16632
|
'page[limit]'?: number;
|
|
16458
16633
|
page?: string;
|
|
16459
16634
|
};
|
|
16460
|
-
url: '/api/v1/pay_periods/{pay_period_id}/imports/
|
|
16635
|
+
url: '/api/v1/pay_periods/{pay_period_id}/imports/aggregate_times';
|
|
16461
16636
|
};
|
|
16462
|
-
export type
|
|
16637
|
+
export type ListAggregateTimeImportsErrors = {
|
|
16463
16638
|
/**
|
|
16464
16639
|
* Bad Request
|
|
16465
16640
|
*/
|
|
@@ -16473,27 +16648,27 @@ export type ListTimeEntryImportsErrors = {
|
|
|
16473
16648
|
*/
|
|
16474
16649
|
422: Problem;
|
|
16475
16650
|
};
|
|
16476
|
-
export type
|
|
16477
|
-
export type
|
|
16651
|
+
export type ListAggregateTimeImportsError = ListAggregateTimeImportsErrors[keyof ListAggregateTimeImportsErrors];
|
|
16652
|
+
export type ListAggregateTimeImportsResponses = {
|
|
16478
16653
|
/**
|
|
16479
16654
|
* Success
|
|
16480
16655
|
*/
|
|
16481
16656
|
200: {
|
|
16482
16657
|
meta: Meta;
|
|
16483
16658
|
links: Links;
|
|
16484
|
-
data: Array<
|
|
16659
|
+
data: Array<AggregateTimeImportResponseObject>;
|
|
16485
16660
|
};
|
|
16486
16661
|
};
|
|
16487
|
-
export type
|
|
16488
|
-
export type
|
|
16489
|
-
body:
|
|
16662
|
+
export type ListAggregateTimeImportsResponse = ListAggregateTimeImportsResponses[keyof ListAggregateTimeImportsResponses];
|
|
16663
|
+
export type CreateAggregateTimeImportData = {
|
|
16664
|
+
body: AggregateTimeImportParameters;
|
|
16490
16665
|
path: {
|
|
16491
16666
|
pay_period_id: string;
|
|
16492
16667
|
};
|
|
16493
16668
|
query?: never;
|
|
16494
|
-
url: '/api/v1/pay_periods/{pay_period_id}/imports/
|
|
16669
|
+
url: '/api/v1/pay_periods/{pay_period_id}/imports/aggregate_times';
|
|
16495
16670
|
};
|
|
16496
|
-
export type
|
|
16671
|
+
export type CreateAggregateTimeImportErrors = {
|
|
16497
16672
|
/**
|
|
16498
16673
|
* Bad Request
|
|
16499
16674
|
*/
|
|
@@ -16506,29 +16681,33 @@ export type CreateTimeEntryImportErrors = {
|
|
|
16506
16681
|
* Not Found
|
|
16507
16682
|
*/
|
|
16508
16683
|
404: Problem;
|
|
16684
|
+
/**
|
|
16685
|
+
* Conflict
|
|
16686
|
+
*/
|
|
16687
|
+
409: Problem;
|
|
16509
16688
|
/**
|
|
16510
16689
|
* Unprocessable Content
|
|
16511
16690
|
*/
|
|
16512
16691
|
422: Problem;
|
|
16513
16692
|
};
|
|
16514
|
-
export type
|
|
16515
|
-
export type
|
|
16693
|
+
export type CreateAggregateTimeImportError = CreateAggregateTimeImportErrors[keyof CreateAggregateTimeImportErrors];
|
|
16694
|
+
export type CreateAggregateTimeImportResponses = {
|
|
16516
16695
|
/**
|
|
16517
16696
|
* Created
|
|
16518
16697
|
*/
|
|
16519
|
-
201:
|
|
16698
|
+
201: AggregateTimeImportResponseObject;
|
|
16520
16699
|
};
|
|
16521
|
-
export type
|
|
16522
|
-
export type
|
|
16700
|
+
export type CreateAggregateTimeImportResponse = CreateAggregateTimeImportResponses[keyof CreateAggregateTimeImportResponses];
|
|
16701
|
+
export type GetAggregateTimeImportData = {
|
|
16523
16702
|
body?: never;
|
|
16524
16703
|
path: {
|
|
16525
16704
|
pay_period_id: string;
|
|
16526
16705
|
id: string;
|
|
16527
16706
|
};
|
|
16528
16707
|
query?: never;
|
|
16529
|
-
url: '/api/v1/pay_periods/{pay_period_id}/imports/
|
|
16708
|
+
url: '/api/v1/pay_periods/{pay_period_id}/imports/aggregate_times/{id}';
|
|
16530
16709
|
};
|
|
16531
|
-
export type
|
|
16710
|
+
export type GetAggregateTimeImportErrors = {
|
|
16532
16711
|
/**
|
|
16533
16712
|
* Forbidden
|
|
16534
16713
|
*/
|
|
@@ -16538,22 +16717,38 @@ export type GetTimeEntryImportErrors = {
|
|
|
16538
16717
|
*/
|
|
16539
16718
|
404: Problem;
|
|
16540
16719
|
};
|
|
16541
|
-
export type
|
|
16542
|
-
export type
|
|
16720
|
+
export type GetAggregateTimeImportError = GetAggregateTimeImportErrors[keyof GetAggregateTimeImportErrors];
|
|
16721
|
+
export type GetAggregateTimeImportResponses = {
|
|
16543
16722
|
/**
|
|
16544
16723
|
* Success
|
|
16545
16724
|
*/
|
|
16546
|
-
200:
|
|
16725
|
+
200: AggregateTimeImportResponseObject;
|
|
16547
16726
|
};
|
|
16548
|
-
export type
|
|
16549
|
-
export type
|
|
16727
|
+
export type GetAggregateTimeImportResponse = GetAggregateTimeImportResponses[keyof GetAggregateTimeImportResponses];
|
|
16728
|
+
export type ListDsptchCprImportsData = {
|
|
16550
16729
|
body?: never;
|
|
16551
|
-
path
|
|
16730
|
+
path: {
|
|
16731
|
+
pay_period_id: string;
|
|
16732
|
+
};
|
|
16552
16733
|
query?: {
|
|
16553
|
-
|
|
16554
|
-
|
|
16734
|
+
/**
|
|
16735
|
+
* Filter by import status:
|
|
16736
|
+
* * `pending`
|
|
16737
|
+
* * `processing`
|
|
16738
|
+
* * `processed`
|
|
16739
|
+
* * `success`
|
|
16740
|
+
* * `failed`
|
|
16741
|
+
*
|
|
16742
|
+
*/
|
|
16743
|
+
'filter[status]'?: string;
|
|
16555
16744
|
filter?: string;
|
|
16556
16745
|
'filter[unexpected]'?: string;
|
|
16746
|
+
'filter[completed_at][gte]'?: string;
|
|
16747
|
+
'filter[completed_at][lte]'?: string;
|
|
16748
|
+
'filter[created_at][gte]'?: string;
|
|
16749
|
+
'filter[created_at][lte]'?: string;
|
|
16750
|
+
'filter[updated_at][gte]'?: string;
|
|
16751
|
+
'filter[updated_at][lte]'?: string;
|
|
16557
16752
|
/**
|
|
16558
16753
|
* This pagination cursor corresponds to the cursor value found in the response in
|
|
16559
16754
|
* `meta.page.next_cursor`.
|
|
@@ -16565,9 +16760,9 @@ export type ListPayPeriodsData = {
|
|
|
16565
16760
|
'page[limit]'?: number;
|
|
16566
16761
|
page?: string;
|
|
16567
16762
|
};
|
|
16568
|
-
url: '/api/v1/pay_periods';
|
|
16763
|
+
url: '/api/v1/pay_periods/{pay_period_id}/imports/dsptch_cprs';
|
|
16569
16764
|
};
|
|
16570
|
-
export type
|
|
16765
|
+
export type ListDsptchCprImportsErrors = {
|
|
16571
16766
|
/**
|
|
16572
16767
|
* Bad Request
|
|
16573
16768
|
*/
|
|
@@ -16581,47 +16776,31 @@ export type ListPayPeriodsErrors = {
|
|
|
16581
16776
|
*/
|
|
16582
16777
|
422: Problem;
|
|
16583
16778
|
};
|
|
16584
|
-
export type
|
|
16585
|
-
export type
|
|
16586
|
-
/**
|
|
16587
|
-
* Success
|
|
16588
|
-
*/
|
|
16589
|
-
200: PayPeriodsResponseObject;
|
|
16590
|
-
};
|
|
16591
|
-
export type ListPayPeriodsResponse = ListPayPeriodsResponses[keyof ListPayPeriodsResponses];
|
|
16592
|
-
export type ListCompensationElementsData = {
|
|
16593
|
-
body?: never;
|
|
16594
|
-
path?: never;
|
|
16595
|
-
query?: never;
|
|
16596
|
-
url: '/api/v1/payrolls/compensation_elements';
|
|
16597
|
-
};
|
|
16598
|
-
export type ListCompensationElementsErrors = {
|
|
16599
|
-
/**
|
|
16600
|
-
* Forbidden
|
|
16601
|
-
*/
|
|
16602
|
-
403: Problem;
|
|
16603
|
-
};
|
|
16604
|
-
export type ListCompensationElementsError = ListCompensationElementsErrors[keyof ListCompensationElementsErrors];
|
|
16605
|
-
export type ListCompensationElementsResponses = {
|
|
16779
|
+
export type ListDsptchCprImportsError = ListDsptchCprImportsErrors[keyof ListDsptchCprImportsErrors];
|
|
16780
|
+
export type ListDsptchCprImportsResponses = {
|
|
16606
16781
|
/**
|
|
16607
16782
|
* Success
|
|
16608
16783
|
*/
|
|
16609
16784
|
200: {
|
|
16610
16785
|
meta: Meta;
|
|
16611
16786
|
links: Links;
|
|
16612
|
-
data: Array<
|
|
16787
|
+
data: Array<DsptchCprImportResponseObject>;
|
|
16613
16788
|
};
|
|
16614
16789
|
};
|
|
16615
|
-
export type
|
|
16616
|
-
export type
|
|
16617
|
-
body
|
|
16790
|
+
export type ListDsptchCprImportsResponse = ListDsptchCprImportsResponses[keyof ListDsptchCprImportsResponses];
|
|
16791
|
+
export type CreateDsptchCprImportData = {
|
|
16792
|
+
body: DsptchCprImportParameters;
|
|
16618
16793
|
path: {
|
|
16619
|
-
|
|
16794
|
+
pay_period_id: string;
|
|
16620
16795
|
};
|
|
16621
16796
|
query?: never;
|
|
16622
|
-
url: '/api/v1/
|
|
16797
|
+
url: '/api/v1/pay_periods/{pay_period_id}/imports/dsptch_cprs';
|
|
16623
16798
|
};
|
|
16624
|
-
export type
|
|
16799
|
+
export type CreateDsptchCprImportErrors = {
|
|
16800
|
+
/**
|
|
16801
|
+
* Bad Request
|
|
16802
|
+
*/
|
|
16803
|
+
400: Problem;
|
|
16625
16804
|
/**
|
|
16626
16805
|
* Forbidden
|
|
16627
16806
|
*/
|
|
@@ -16630,14 +16809,270 @@ export type GetCompensationElementErrors = {
|
|
|
16630
16809
|
* Not Found
|
|
16631
16810
|
*/
|
|
16632
16811
|
404: Problem;
|
|
16633
|
-
};
|
|
16634
|
-
export type GetCompensationElementError = GetCompensationElementErrors[keyof GetCompensationElementErrors];
|
|
16635
|
-
export type GetCompensationElementResponses = {
|
|
16636
16812
|
/**
|
|
16637
|
-
*
|
|
16813
|
+
* Conflict
|
|
16638
16814
|
*/
|
|
16639
|
-
|
|
16640
|
-
|
|
16815
|
+
409: Problem;
|
|
16816
|
+
/**
|
|
16817
|
+
* Unprocessable Content
|
|
16818
|
+
*/
|
|
16819
|
+
422: Problem;
|
|
16820
|
+
};
|
|
16821
|
+
export type CreateDsptchCprImportError = CreateDsptchCprImportErrors[keyof CreateDsptchCprImportErrors];
|
|
16822
|
+
export type CreateDsptchCprImportResponses = {
|
|
16823
|
+
/**
|
|
16824
|
+
* Created
|
|
16825
|
+
*/
|
|
16826
|
+
201: DsptchCprImportResponseObject;
|
|
16827
|
+
};
|
|
16828
|
+
export type CreateDsptchCprImportResponse = CreateDsptchCprImportResponses[keyof CreateDsptchCprImportResponses];
|
|
16829
|
+
export type GetDsptchCprImportData = {
|
|
16830
|
+
body?: never;
|
|
16831
|
+
path: {
|
|
16832
|
+
pay_period_id: string;
|
|
16833
|
+
id: string;
|
|
16834
|
+
};
|
|
16835
|
+
query?: never;
|
|
16836
|
+
url: '/api/v1/pay_periods/{pay_period_id}/imports/dsptch_cprs/{id}';
|
|
16837
|
+
};
|
|
16838
|
+
export type GetDsptchCprImportErrors = {
|
|
16839
|
+
/**
|
|
16840
|
+
* Forbidden
|
|
16841
|
+
*/
|
|
16842
|
+
403: Problem;
|
|
16843
|
+
/**
|
|
16844
|
+
* Not Found
|
|
16845
|
+
*/
|
|
16846
|
+
404: Problem;
|
|
16847
|
+
};
|
|
16848
|
+
export type GetDsptchCprImportError = GetDsptchCprImportErrors[keyof GetDsptchCprImportErrors];
|
|
16849
|
+
export type GetDsptchCprImportResponses = {
|
|
16850
|
+
/**
|
|
16851
|
+
* Success
|
|
16852
|
+
*/
|
|
16853
|
+
200: DsptchCprImportResponseObject;
|
|
16854
|
+
};
|
|
16855
|
+
export type GetDsptchCprImportResponse = GetDsptchCprImportResponses[keyof GetDsptchCprImportResponses];
|
|
16856
|
+
export type ListTimeEntryImportsData = {
|
|
16857
|
+
body?: never;
|
|
16858
|
+
path: {
|
|
16859
|
+
pay_period_id: string;
|
|
16860
|
+
};
|
|
16861
|
+
query?: {
|
|
16862
|
+
/**
|
|
16863
|
+
* Filter by import status:
|
|
16864
|
+
* * `pending`
|
|
16865
|
+
* * `processing`
|
|
16866
|
+
* * `processed`
|
|
16867
|
+
* * `success`
|
|
16868
|
+
* * `failed`
|
|
16869
|
+
*
|
|
16870
|
+
*/
|
|
16871
|
+
'filter[status]'?: string;
|
|
16872
|
+
filter?: string;
|
|
16873
|
+
'filter[unexpected]'?: string;
|
|
16874
|
+
'filter[completed_at][gte]'?: string;
|
|
16875
|
+
'filter[completed_at][lte]'?: string;
|
|
16876
|
+
'filter[created_at][gte]'?: string;
|
|
16877
|
+
'filter[created_at][lte]'?: string;
|
|
16878
|
+
'filter[updated_at][gte]'?: string;
|
|
16879
|
+
'filter[updated_at][lte]'?: string;
|
|
16880
|
+
/**
|
|
16881
|
+
* This pagination cursor corresponds to the cursor value found in the response in
|
|
16882
|
+
* `meta.page.next_cursor`.
|
|
16883
|
+
*/
|
|
16884
|
+
'page[cursor]'?: string;
|
|
16885
|
+
/**
|
|
16886
|
+
* 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`.
|
|
16887
|
+
*/
|
|
16888
|
+
'page[limit]'?: number;
|
|
16889
|
+
page?: string;
|
|
16890
|
+
};
|
|
16891
|
+
url: '/api/v1/pay_periods/{pay_period_id}/imports/time_entries';
|
|
16892
|
+
};
|
|
16893
|
+
export type ListTimeEntryImportsErrors = {
|
|
16894
|
+
/**
|
|
16895
|
+
* Bad Request
|
|
16896
|
+
*/
|
|
16897
|
+
400: Problem;
|
|
16898
|
+
/**
|
|
16899
|
+
* Forbidden
|
|
16900
|
+
*/
|
|
16901
|
+
403: Problem;
|
|
16902
|
+
/**
|
|
16903
|
+
* Unprocessable Content
|
|
16904
|
+
*/
|
|
16905
|
+
422: Problem;
|
|
16906
|
+
};
|
|
16907
|
+
export type ListTimeEntryImportsError = ListTimeEntryImportsErrors[keyof ListTimeEntryImportsErrors];
|
|
16908
|
+
export type ListTimeEntryImportsResponses = {
|
|
16909
|
+
/**
|
|
16910
|
+
* Success
|
|
16911
|
+
*/
|
|
16912
|
+
200: {
|
|
16913
|
+
meta: Meta;
|
|
16914
|
+
links: Links;
|
|
16915
|
+
data: Array<TimeEntryImportResponseObject>;
|
|
16916
|
+
};
|
|
16917
|
+
};
|
|
16918
|
+
export type ListTimeEntryImportsResponse = ListTimeEntryImportsResponses[keyof ListTimeEntryImportsResponses];
|
|
16919
|
+
export type CreateTimeEntryImportData = {
|
|
16920
|
+
body: TimeEntryImportParameters;
|
|
16921
|
+
path: {
|
|
16922
|
+
pay_period_id: string;
|
|
16923
|
+
};
|
|
16924
|
+
query?: never;
|
|
16925
|
+
url: '/api/v1/pay_periods/{pay_period_id}/imports/time_entries';
|
|
16926
|
+
};
|
|
16927
|
+
export type CreateTimeEntryImportErrors = {
|
|
16928
|
+
/**
|
|
16929
|
+
* Bad Request
|
|
16930
|
+
*/
|
|
16931
|
+
400: Problem;
|
|
16932
|
+
/**
|
|
16933
|
+
* Forbidden
|
|
16934
|
+
*/
|
|
16935
|
+
403: Problem;
|
|
16936
|
+
/**
|
|
16937
|
+
* Not Found
|
|
16938
|
+
*/
|
|
16939
|
+
404: Problem;
|
|
16940
|
+
/**
|
|
16941
|
+
* Conflict
|
|
16942
|
+
*/
|
|
16943
|
+
409: Problem;
|
|
16944
|
+
/**
|
|
16945
|
+
* Unprocessable Content
|
|
16946
|
+
*/
|
|
16947
|
+
422: Problem;
|
|
16948
|
+
};
|
|
16949
|
+
export type CreateTimeEntryImportError = CreateTimeEntryImportErrors[keyof CreateTimeEntryImportErrors];
|
|
16950
|
+
export type CreateTimeEntryImportResponses = {
|
|
16951
|
+
/**
|
|
16952
|
+
* Created
|
|
16953
|
+
*/
|
|
16954
|
+
201: TimeEntryImportResponseObject;
|
|
16955
|
+
};
|
|
16956
|
+
export type CreateTimeEntryImportResponse = CreateTimeEntryImportResponses[keyof CreateTimeEntryImportResponses];
|
|
16957
|
+
export type GetTimeEntryImportData = {
|
|
16958
|
+
body?: never;
|
|
16959
|
+
path: {
|
|
16960
|
+
pay_period_id: string;
|
|
16961
|
+
id: string;
|
|
16962
|
+
};
|
|
16963
|
+
query?: never;
|
|
16964
|
+
url: '/api/v1/pay_periods/{pay_period_id}/imports/time_entries/{id}';
|
|
16965
|
+
};
|
|
16966
|
+
export type GetTimeEntryImportErrors = {
|
|
16967
|
+
/**
|
|
16968
|
+
* Forbidden
|
|
16969
|
+
*/
|
|
16970
|
+
403: Problem;
|
|
16971
|
+
/**
|
|
16972
|
+
* Not Found
|
|
16973
|
+
*/
|
|
16974
|
+
404: Problem;
|
|
16975
|
+
};
|
|
16976
|
+
export type GetTimeEntryImportError = GetTimeEntryImportErrors[keyof GetTimeEntryImportErrors];
|
|
16977
|
+
export type GetTimeEntryImportResponses = {
|
|
16978
|
+
/**
|
|
16979
|
+
* Success
|
|
16980
|
+
*/
|
|
16981
|
+
200: TimeEntryImportResponseObject;
|
|
16982
|
+
};
|
|
16983
|
+
export type GetTimeEntryImportResponse = GetTimeEntryImportResponses[keyof GetTimeEntryImportResponses];
|
|
16984
|
+
export type ListPayPeriodsData = {
|
|
16985
|
+
body?: never;
|
|
16986
|
+
path?: never;
|
|
16987
|
+
query?: {
|
|
16988
|
+
'filter[start_time][gte]'?: string;
|
|
16989
|
+
'filter[start_time][lte]'?: string;
|
|
16990
|
+
filter?: string;
|
|
16991
|
+
'filter[unexpected]'?: string;
|
|
16992
|
+
/**
|
|
16993
|
+
* This pagination cursor corresponds to the cursor value found in the response in
|
|
16994
|
+
* `meta.page.next_cursor`.
|
|
16995
|
+
*/
|
|
16996
|
+
'page[cursor]'?: string;
|
|
16997
|
+
/**
|
|
16998
|
+
* 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`.
|
|
16999
|
+
*/
|
|
17000
|
+
'page[limit]'?: number;
|
|
17001
|
+
page?: string;
|
|
17002
|
+
};
|
|
17003
|
+
url: '/api/v1/pay_periods';
|
|
17004
|
+
};
|
|
17005
|
+
export type ListPayPeriodsErrors = {
|
|
17006
|
+
/**
|
|
17007
|
+
* Bad Request
|
|
17008
|
+
*/
|
|
17009
|
+
400: Problem;
|
|
17010
|
+
/**
|
|
17011
|
+
* Forbidden
|
|
17012
|
+
*/
|
|
17013
|
+
403: Problem;
|
|
17014
|
+
/**
|
|
17015
|
+
* Unprocessable Content
|
|
17016
|
+
*/
|
|
17017
|
+
422: Problem;
|
|
17018
|
+
};
|
|
17019
|
+
export type ListPayPeriodsError = ListPayPeriodsErrors[keyof ListPayPeriodsErrors];
|
|
17020
|
+
export type ListPayPeriodsResponses = {
|
|
17021
|
+
/**
|
|
17022
|
+
* Success
|
|
17023
|
+
*/
|
|
17024
|
+
200: PayPeriodsResponseObject;
|
|
17025
|
+
};
|
|
17026
|
+
export type ListPayPeriodsResponse = ListPayPeriodsResponses[keyof ListPayPeriodsResponses];
|
|
17027
|
+
export type ListCompensationElementsData = {
|
|
17028
|
+
body?: never;
|
|
17029
|
+
path?: never;
|
|
17030
|
+
query?: never;
|
|
17031
|
+
url: '/api/v1/payrolls/compensation_elements';
|
|
17032
|
+
};
|
|
17033
|
+
export type ListCompensationElementsErrors = {
|
|
17034
|
+
/**
|
|
17035
|
+
* Forbidden
|
|
17036
|
+
*/
|
|
17037
|
+
403: Problem;
|
|
17038
|
+
};
|
|
17039
|
+
export type ListCompensationElementsError = ListCompensationElementsErrors[keyof ListCompensationElementsErrors];
|
|
17040
|
+
export type ListCompensationElementsResponses = {
|
|
17041
|
+
/**
|
|
17042
|
+
* Success
|
|
17043
|
+
*/
|
|
17044
|
+
200: {
|
|
17045
|
+
meta: Meta;
|
|
17046
|
+
links: Links;
|
|
17047
|
+
data: Array<CompensationElementResponseObject>;
|
|
17048
|
+
};
|
|
17049
|
+
};
|
|
17050
|
+
export type ListCompensationElementsResponse = ListCompensationElementsResponses[keyof ListCompensationElementsResponses];
|
|
17051
|
+
export type GetCompensationElementData = {
|
|
17052
|
+
body?: never;
|
|
17053
|
+
path: {
|
|
17054
|
+
id: string;
|
|
17055
|
+
};
|
|
17056
|
+
query?: never;
|
|
17057
|
+
url: '/api/v1/payrolls/compensation_elements/{id}';
|
|
17058
|
+
};
|
|
17059
|
+
export type GetCompensationElementErrors = {
|
|
17060
|
+
/**
|
|
17061
|
+
* Forbidden
|
|
17062
|
+
*/
|
|
17063
|
+
403: Problem;
|
|
17064
|
+
/**
|
|
17065
|
+
* Not Found
|
|
17066
|
+
*/
|
|
17067
|
+
404: Problem;
|
|
17068
|
+
};
|
|
17069
|
+
export type GetCompensationElementError = GetCompensationElementErrors[keyof GetCompensationElementErrors];
|
|
17070
|
+
export type GetCompensationElementResponses = {
|
|
17071
|
+
/**
|
|
17072
|
+
* Success
|
|
17073
|
+
*/
|
|
17074
|
+
200: CompensationElementResponseObject;
|
|
17075
|
+
};
|
|
16641
17076
|
export type GetCompensationElementResponse = GetCompensationElementResponses[keyof GetCompensationElementResponses];
|
|
16642
17077
|
export type ListExternalMapHistoryData = {
|
|
16643
17078
|
body?: never;
|
|
@@ -16936,6 +17371,134 @@ export type UpdateFringeBenefitPlanResponses = {
|
|
|
16936
17371
|
200: PayrollFringeBenefitPlanResponseObject;
|
|
16937
17372
|
};
|
|
16938
17373
|
export type UpdateFringeBenefitPlanResponse = UpdateFringeBenefitPlanResponses[keyof UpdateFringeBenefitPlanResponses];
|
|
17374
|
+
export type ListPaystubImportsData = {
|
|
17375
|
+
body?: never;
|
|
17376
|
+
path: {
|
|
17377
|
+
payroll_run_id: string;
|
|
17378
|
+
};
|
|
17379
|
+
query?: {
|
|
17380
|
+
/**
|
|
17381
|
+
* Filter by import status:
|
|
17382
|
+
* * `pending`
|
|
17383
|
+
* * `processing`
|
|
17384
|
+
* * `processed`
|
|
17385
|
+
* * `success`
|
|
17386
|
+
* * `failed`
|
|
17387
|
+
*
|
|
17388
|
+
*/
|
|
17389
|
+
'filter[status]'?: string;
|
|
17390
|
+
filter?: string;
|
|
17391
|
+
'filter[unexpected]'?: string;
|
|
17392
|
+
'filter[completed_at][gte]'?: string;
|
|
17393
|
+
'filter[completed_at][lte]'?: string;
|
|
17394
|
+
'filter[created_at][gte]'?: string;
|
|
17395
|
+
'filter[created_at][lte]'?: string;
|
|
17396
|
+
'filter[updated_at][gte]'?: string;
|
|
17397
|
+
'filter[updated_at][lte]'?: string;
|
|
17398
|
+
/**
|
|
17399
|
+
* This pagination cursor corresponds to the cursor value found in the response in
|
|
17400
|
+
* `meta.page.next_cursor`.
|
|
17401
|
+
*/
|
|
17402
|
+
'page[cursor]'?: string;
|
|
17403
|
+
/**
|
|
17404
|
+
* 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`.
|
|
17405
|
+
*/
|
|
17406
|
+
'page[limit]'?: number;
|
|
17407
|
+
page?: string;
|
|
17408
|
+
};
|
|
17409
|
+
url: '/api/v1/payrolls/payroll_runs/{payroll_run_id}/imports/paystubs';
|
|
17410
|
+
};
|
|
17411
|
+
export type ListPaystubImportsErrors = {
|
|
17412
|
+
/**
|
|
17413
|
+
* Bad Request
|
|
17414
|
+
*/
|
|
17415
|
+
400: Problem;
|
|
17416
|
+
/**
|
|
17417
|
+
* Forbidden
|
|
17418
|
+
*/
|
|
17419
|
+
403: Problem;
|
|
17420
|
+
/**
|
|
17421
|
+
* Unprocessable Content
|
|
17422
|
+
*/
|
|
17423
|
+
422: Problem;
|
|
17424
|
+
};
|
|
17425
|
+
export type ListPaystubImportsError = ListPaystubImportsErrors[keyof ListPaystubImportsErrors];
|
|
17426
|
+
export type ListPaystubImportsResponses = {
|
|
17427
|
+
/**
|
|
17428
|
+
* Success
|
|
17429
|
+
*/
|
|
17430
|
+
200: {
|
|
17431
|
+
meta: Meta;
|
|
17432
|
+
links: Links;
|
|
17433
|
+
data: Array<PaystubImportResponseObject>;
|
|
17434
|
+
};
|
|
17435
|
+
};
|
|
17436
|
+
export type ListPaystubImportsResponse = ListPaystubImportsResponses[keyof ListPaystubImportsResponses];
|
|
17437
|
+
export type CreatePaystubImportData = {
|
|
17438
|
+
body: PaystubImportParameters;
|
|
17439
|
+
path: {
|
|
17440
|
+
payroll_run_id: string;
|
|
17441
|
+
};
|
|
17442
|
+
query?: never;
|
|
17443
|
+
url: '/api/v1/payrolls/payroll_runs/{payroll_run_id}/imports/paystubs';
|
|
17444
|
+
};
|
|
17445
|
+
export type CreatePaystubImportErrors = {
|
|
17446
|
+
/**
|
|
17447
|
+
* Bad Request
|
|
17448
|
+
*/
|
|
17449
|
+
400: Problem;
|
|
17450
|
+
/**
|
|
17451
|
+
* Forbidden
|
|
17452
|
+
*/
|
|
17453
|
+
403: Problem;
|
|
17454
|
+
/**
|
|
17455
|
+
* Not Found
|
|
17456
|
+
*/
|
|
17457
|
+
404: Problem;
|
|
17458
|
+
/**
|
|
17459
|
+
* Conflict
|
|
17460
|
+
*/
|
|
17461
|
+
409: Problem;
|
|
17462
|
+
/**
|
|
17463
|
+
* Unprocessable Content
|
|
17464
|
+
*/
|
|
17465
|
+
422: Problem;
|
|
17466
|
+
};
|
|
17467
|
+
export type CreatePaystubImportError = CreatePaystubImportErrors[keyof CreatePaystubImportErrors];
|
|
17468
|
+
export type CreatePaystubImportResponses = {
|
|
17469
|
+
/**
|
|
17470
|
+
* Created
|
|
17471
|
+
*/
|
|
17472
|
+
201: PaystubImportResponseObject;
|
|
17473
|
+
};
|
|
17474
|
+
export type CreatePaystubImportResponse = CreatePaystubImportResponses[keyof CreatePaystubImportResponses];
|
|
17475
|
+
export type GetPaystubImportData = {
|
|
17476
|
+
body?: never;
|
|
17477
|
+
path: {
|
|
17478
|
+
payroll_run_id: string;
|
|
17479
|
+
id: string;
|
|
17480
|
+
};
|
|
17481
|
+
query?: never;
|
|
17482
|
+
url: '/api/v1/payrolls/payroll_runs/{payroll_run_id}/imports/paystubs/{id}';
|
|
17483
|
+
};
|
|
17484
|
+
export type GetPaystubImportErrors = {
|
|
17485
|
+
/**
|
|
17486
|
+
* Forbidden
|
|
17487
|
+
*/
|
|
17488
|
+
403: Problem;
|
|
17489
|
+
/**
|
|
17490
|
+
* Not Found
|
|
17491
|
+
*/
|
|
17492
|
+
404: Problem;
|
|
17493
|
+
};
|
|
17494
|
+
export type GetPaystubImportError = GetPaystubImportErrors[keyof GetPaystubImportErrors];
|
|
17495
|
+
export type GetPaystubImportResponses = {
|
|
17496
|
+
/**
|
|
17497
|
+
* Success
|
|
17498
|
+
*/
|
|
17499
|
+
200: PaystubImportResponseObject;
|
|
17500
|
+
};
|
|
17501
|
+
export type GetPaystubImportResponse = GetPaystubImportResponses[keyof GetPaystubImportResponses];
|
|
16939
17502
|
export type ListPayrollRunsData = {
|
|
16940
17503
|
body?: never;
|
|
16941
17504
|
path?: never;
|
|
@@ -18315,6 +18878,40 @@ export type UpdateApprenticeshipOccupationResponses = {
|
|
|
18315
18878
|
200: PwaTradeApprenticeshipOccupationResponseObject;
|
|
18316
18879
|
};
|
|
18317
18880
|
export type UpdateApprenticeshipOccupationResponse = UpdateApprenticeshipOccupationResponses[keyof UpdateApprenticeshipOccupationResponses];
|
|
18881
|
+
export type CreateMergeData = {
|
|
18882
|
+
body: PwaTradeMergeParameters;
|
|
18883
|
+
path: {
|
|
18884
|
+
trade_id: string;
|
|
18885
|
+
};
|
|
18886
|
+
query?: never;
|
|
18887
|
+
url: '/api/v1/pwa/trades/{trade_id}/merges';
|
|
18888
|
+
};
|
|
18889
|
+
export type CreateMergeErrors = {
|
|
18890
|
+
/**
|
|
18891
|
+
* Bad Request
|
|
18892
|
+
*/
|
|
18893
|
+
400: Problem;
|
|
18894
|
+
/**
|
|
18895
|
+
* Forbidden
|
|
18896
|
+
*/
|
|
18897
|
+
403: Problem;
|
|
18898
|
+
/**
|
|
18899
|
+
* Not Found
|
|
18900
|
+
*/
|
|
18901
|
+
404: Problem;
|
|
18902
|
+
/**
|
|
18903
|
+
* Unprocessable Content
|
|
18904
|
+
*/
|
|
18905
|
+
422: Problem;
|
|
18906
|
+
};
|
|
18907
|
+
export type CreateMergeError = CreateMergeErrors[keyof CreateMergeErrors];
|
|
18908
|
+
export type CreateMergeResponses = {
|
|
18909
|
+
/**
|
|
18910
|
+
* Success
|
|
18911
|
+
*/
|
|
18912
|
+
200: PwaTradeResponseObject;
|
|
18913
|
+
};
|
|
18914
|
+
export type CreateMergeResponse = CreateMergeResponses[keyof CreateMergeResponses];
|
|
18318
18915
|
export type ListTradesData = {
|
|
18319
18916
|
body?: never;
|
|
18320
18917
|
path?: never;
|
|
@@ -19359,6 +19956,10 @@ export type DeleteTimeEntryErrors = {
|
|
|
19359
19956
|
* Forbidden
|
|
19360
19957
|
*/
|
|
19361
19958
|
403: Problem;
|
|
19959
|
+
/**
|
|
19960
|
+
* Not Found
|
|
19961
|
+
*/
|
|
19962
|
+
404: Problem;
|
|
19362
19963
|
/**
|
|
19363
19964
|
* Unprocessable Content
|
|
19364
19965
|
*/
|
|
@@ -19392,6 +19993,10 @@ export type UpdateTimeEntryErrors = {
|
|
|
19392
19993
|
* Forbidden
|
|
19393
19994
|
*/
|
|
19394
19995
|
403: Problem;
|
|
19996
|
+
/**
|
|
19997
|
+
* Not Found
|
|
19998
|
+
*/
|
|
19999
|
+
404: Problem;
|
|
19395
20000
|
/**
|
|
19396
20001
|
* Unprocessable Content
|
|
19397
20002
|
*/
|