@dsptch-work/api-client 0.52.0 → 0.53.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.
@@ -443,7 +443,7 @@ export type DirectUploadParameters = {
443
443
  /**
444
444
  * 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.
445
445
  */
446
- resource: 'assets.items' | 'assets.items.documents' | 'assets.items.service_events' | 'assets.products' | 'assets.products.documents' | 'assets.vendors' | 'compliance.checks' | 'form_submissions' | 'internal.companies' | 'internal.company_todos' | 'internal.job_todos' | 'internal.project_todos' | 'jobs' | 'jobs.documents' | 'jobs.pwa.apprenticeship.good_faith_effort_exceptions' | 'jobs.pwa.cure_payments' | 'pay_periods.imports.aggregate_times' | 'pay_periods.imports.dsptch_cprs' | 'pay_periods.imports.time_entries' | 'payrolls.payroll_runs.imports.paystubs' | 'payrolls.payroll_runs.imports.wide_paystubs' | 'projects' | 'projects.documents' | 'users';
446
+ resource: 'assets.items' | 'assets.items.documents' | 'assets.items.service_events' | 'assets.products' | 'assets.products.documents' | 'assets.vendors' | 'company_documents' | 'compliance.checks' | 'form_submissions' | 'internal.companies' | 'internal.company_todos' | 'internal.job_todos' | 'internal.project_todos' | 'jobs' | 'jobs.documents' | 'jobs.pwa.apprenticeship.good_faith_effort_exceptions' | 'jobs.pwa.cure_payments' | 'pay_periods.imports.aggregate_times' | 'pay_periods.imports.dsptch_cprs' | 'pay_periods.imports.time_entries' | 'payrolls.payroll_runs.imports.paystubs' | 'payrolls.payroll_runs.imports.wide_paystubs' | 'projects' | 'projects.documents' | 'users';
447
447
  /**
448
448
  * Metadata describing the file being registered, before its bytes are uploaded.
449
449
  */
@@ -1100,6 +1100,10 @@ export type CompetencyAssessmentCriterionResponseObject = {
1100
1100
  * When the reviewer decided this line; null until then.
1101
1101
  */
1102
1102
  decided_at: string | null;
1103
+ /**
1104
+ * Whether an assessor judged this criterion does not apply. A not-applicable line stays pending and is excluded from the decision and the outcome.
1105
+ */
1106
+ not_applicable: boolean;
1103
1107
  /**
1104
1108
  * Reviewer decision: pending, competent, or not_yet_competent. Omitted when the caller is the candidate and the package is not yet decided.
1105
1109
  */
@@ -1272,6 +1276,43 @@ export type ApprenticeshipOccupationResponseObject = {
1272
1276
  */
1273
1277
  updated_at: string;
1274
1278
  };
1279
+ /**
1280
+ * A skill-specific hour bucket within an occupation (for example, rough-in wiring within an electrician occupation). Allocations may optionally name a category. Minutes are stored and published directly.
1281
+ */
1282
+ export type ApprenticeshipWorkProcessCategoryResponseObject = {
1283
+ /**
1284
+ * Unique identifier.
1285
+ */
1286
+ id: string;
1287
+ /**
1288
+ * ID of the occupation this work process category belongs to.
1289
+ */
1290
+ apprenticeship_occupation_id: string;
1291
+ /**
1292
+ * Human-readable name for the work process category.
1293
+ */
1294
+ name: string;
1295
+ /**
1296
+ * Free-text description of the work process category; null when unset.
1297
+ */
1298
+ description: string | null;
1299
+ /**
1300
+ * Minimum on-the-job minutes required in this category.
1301
+ */
1302
+ min_minutes: number;
1303
+ /**
1304
+ * Maximum on-the-job minutes allowed in this category; must exceed min_minutes.
1305
+ */
1306
+ max_minutes: number;
1307
+ /**
1308
+ * When the record was created (ISO 8601).
1309
+ */
1310
+ created_at: string;
1311
+ /**
1312
+ * When the record was last updated (ISO 8601).
1313
+ */
1314
+ updated_at: string;
1315
+ };
1275
1316
  /**
1276
1317
  * A company authorized to employ apprentices in a program; the program's sponsor manages this roster.
1277
1318
  */
@@ -1717,6 +1758,48 @@ export type ApprenticeshipOccupationUpdateParameters = {
1717
1758
  */
1718
1759
  num_journeyworkers?: number;
1719
1760
  };
1761
+ /**
1762
+ * Create a work process category on an occupation; the occupation is taken from the URL path. Minutes are sent as integers. Omitting name, min_minutes, or max_minutes, or sending max_minutes less than or equal to min_minutes, answers 422. A null for a non-nullable field or a wrong JSON type answers 422. An unknown key answers 400.
1763
+ */
1764
+ export type ApprenticeshipWorkProcessCategoryParameters = {
1765
+ /**
1766
+ * Human-readable name for the work process category.
1767
+ */
1768
+ name?: string;
1769
+ /**
1770
+ * Free-text description of the work process category; optional, null to leave unset.
1771
+ */
1772
+ description?: string | null;
1773
+ /**
1774
+ * Minimum on-the-job minutes required in this category.
1775
+ */
1776
+ min_minutes?: number;
1777
+ /**
1778
+ * Maximum on-the-job minutes allowed in this category; must exceed min_minutes.
1779
+ */
1780
+ max_minutes?: number;
1781
+ };
1782
+ /**
1783
+ * Update a work process category on an occupation. Send only the fields to change; the occupation is taken from the URL path. Minutes are sent as integers. A null for a non-nullable field, a wrong JSON type, or max_minutes less than or equal to min_minutes answers 422. An unknown key answers 400.
1784
+ */
1785
+ export type ApprenticeshipWorkProcessCategoryUpdateParameters = {
1786
+ /**
1787
+ * Human-readable name for the work process category; omit to leave it unchanged.
1788
+ */
1789
+ name?: string;
1790
+ /**
1791
+ * Free-text description of the work process category; omit to leave it unchanged, or send null to clear.
1792
+ */
1793
+ description?: string | null;
1794
+ /**
1795
+ * Minimum on-the-job minutes required in this category; omit to leave it unchanged.
1796
+ */
1797
+ min_minutes?: number;
1798
+ /**
1799
+ * Maximum on-the-job minutes allowed in this category; must exceed min_minutes; omit to leave it unchanged.
1800
+ */
1801
+ max_minutes?: number;
1802
+ };
1720
1803
  /**
1721
1804
  * Create an authorization for an employer to employ apprentices in a program; only the program's sponsor may manage this roster.
1722
1805
  */
@@ -3547,6 +3630,149 @@ export type DepartmentUpdateParameters = {
3547
3630
  */
3548
3631
  description?: string | null;
3549
3632
  };
3633
+ /**
3634
+ * A company-level document — either an uploaded file or an external URL, never both.
3635
+ */
3636
+ export type CompanyDocumentResponseObject = {
3637
+ /**
3638
+ * Unique identifier.
3639
+ */
3640
+ id: string;
3641
+ /**
3642
+ * ID of the company that owns this record.
3643
+ */
3644
+ company_id: string;
3645
+ /**
3646
+ * Human-readable document name.
3647
+ */
3648
+ name: string;
3649
+ /**
3650
+ * Optional description; null when absent.
3651
+ */
3652
+ description: string | null;
3653
+ /**
3654
+ * External link when the document is a URL rather than an uploaded file; null when a file is attached.
3655
+ */
3656
+ url: string | null;
3657
+ /**
3658
+ * Labels on the document; empty when none are set.
3659
+ */
3660
+ tags: Array<string>;
3661
+ /**
3662
+ * When true, clients should download the file rather than preview it; null when unset.
3663
+ */
3664
+ always_download: boolean | null;
3665
+ /**
3666
+ * Id of the user recorded as the uploader.
3667
+ */
3668
+ uploaded_by_user_id: string;
3669
+ /**
3670
+ * The attached file's filename, content type, size, and URL; null when the document is a URL.
3671
+ */
3672
+ file: {
3673
+ /**
3674
+ * Stored name of the uploaded file.
3675
+ */
3676
+ filename: string;
3677
+ /**
3678
+ * MIME type of the file; null when not recorded.
3679
+ */
3680
+ content_type: string | null;
3681
+ /**
3682
+ * Size of the file in bytes.
3683
+ */
3684
+ byte_size: number;
3685
+ /**
3686
+ * A URL to download the file.
3687
+ */
3688
+ url: string;
3689
+ } | null;
3690
+ /**
3691
+ * When the record was created (ISO 8601).
3692
+ */
3693
+ created_at: string;
3694
+ /**
3695
+ * When the record was last updated (ISO 8601).
3696
+ */
3697
+ updated_at: string;
3698
+ };
3699
+ /**
3700
+ * A page of the company's documents, with pagination metadata and navigation links.
3701
+ */
3702
+ export type CompanyDocumentsResponseObject = {
3703
+ meta: Meta;
3704
+ links: Links;
3705
+ /**
3706
+ * The page of company documents.
3707
+ */
3708
+ data: Array<CompanyDocumentResponseObject>;
3709
+ };
3710
+ /**
3711
+ * Request body for creating a company document. The company is taken from the API key and is not part of the body. Supply exactly one of `url` or `file`. Company keys must send `performed_by_user_id`; user keys act as themselves.
3712
+ */
3713
+ export type CompanyDocumentParameters = {
3714
+ /**
3715
+ * Human-readable document name. Omission or a blank value answers 422.
3716
+ */
3717
+ name?: string;
3718
+ /**
3719
+ * Optional description. Null clears it on create to absent.
3720
+ */
3721
+ description?: string | null;
3722
+ /**
3723
+ * External https URL. Omit when supplying `file`. Sending both `url` and `file`, or neither, answers 422.
3724
+ */
3725
+ url?: string | null;
3726
+ /**
3727
+ * Labels to store on the document. Omit for none. Null answers 422.
3728
+ */
3729
+ tags?: Array<string>;
3730
+ /**
3731
+ * When true, clients should download the file rather than preview it.
3732
+ */
3733
+ always_download?: boolean;
3734
+ /**
3735
+ * A signed_id from POST /api/v1/direct_uploads identifying the uploaded blob to attach. Register the upload naming `company_documents` — a signed_id issued for any other resource will not resolve here. Omit when supplying `url`. Null and a blank string answer 422.
3736
+ */
3737
+ file?: string;
3738
+ /**
3739
+ * Id of the user recorded as the uploader. Required for company keys (omission answers 400; a user outside the company answers 422). User keys act as themselves; a mismatched id answers 403.
3740
+ */
3741
+ performed_by_user_id?: string;
3742
+ };
3743
+ /**
3744
+ * Request body for updating a company document. Every field is optional; omit a field to preserve its current value. The resulting document must still be exactly one of `url` or `file`.
3745
+ */
3746
+ export type CompanyDocumentUpdateParameters = {
3747
+ /**
3748
+ * Replacement human-readable document name. A blank value answers 422.
3749
+ */
3750
+ name?: string;
3751
+ /**
3752
+ * Replacement description. Null clears it.
3753
+ */
3754
+ description?: string | null;
3755
+ /**
3756
+ * Replacement external https URL. Null clears it; the document must then have a file.
3757
+ */
3758
+ url?: string | null;
3759
+ /**
3760
+ * Replacement labels. An empty array clears them.
3761
+ */
3762
+ tags?: Array<string>;
3763
+ /**
3764
+ * When true, clients should download the file rather than preview it.
3765
+ */
3766
+ always_download?: boolean;
3767
+ /**
3768
+ * A signed_id from POST /api/v1/direct_uploads identifying a replacement blob. Register the upload naming `company_documents` — a signed_id issued for any other resource will not resolve here. Null removes the attachment; the document must then have a `url`.
3769
+ */
3770
+ file?: string | null;
3771
+ /**
3772
+ * Id of the user recorded as the filer of a replacement upload. Required for company keys when `file` is a signed id. User keys act as themselves.
3773
+ */
3774
+ performed_by_user_id?: string;
3775
+ };
3550
3776
  /**
3551
3777
  * A per-diem allowance recorded on a time card for a specific date. Its rate, currency, and taxable flag are snapshotted from the referenced catalog per diem when saved.
3552
3778
  */
@@ -5660,7 +5886,7 @@ export type JobUpdateParameters = {
5660
5886
  status?: 'completed' | 'cancelled' | 'disputed';
5661
5887
  };
5662
5888
  /**
5663
- * A reusable job template — a saved job pattern for quickly creating new jobs with the same setup. Read-only through the API (listing only).
5889
+ * A reusable job template — a saved job pattern for quickly creating new jobs with the same setup.
5664
5890
  */
5665
5891
  export type JobTemplateResponseObject = {
5666
5892
  /**
@@ -5675,6 +5901,48 @@ export type JobTemplateResponseObject = {
5675
5901
  * Description of the template; null when unset.
5676
5902
  */
5677
5903
  description: string | null;
5904
+ /**
5905
+ * ID of the Job this template holds.
5906
+ */
5907
+ job_id: string;
5908
+ };
5909
+ /**
5910
+ * Request body for creating a job template. Send fields in JSON; the template belongs to the company that owns the API key. Omit job_id for an empty template job; send it to copy a visible job. Company keys must send performed_by_user_id; user keys act as themselves.
5911
+ */
5912
+ export type JobTemplateParameters = {
5913
+ /**
5914
+ * Required display name. Omission answers 400; supplied null or a wrong type answers 422. Blank names fail model validation with 422.
5915
+ */
5916
+ name: string;
5917
+ /**
5918
+ * Optional description; null when unset.
5919
+ */
5920
+ description?: string | null;
5921
+ /**
5922
+ * ID of a visible job to copy into the new template. Omit or send null for an empty template job. An unknown or other-company id answers 404.
5923
+ */
5924
+ job_id?: string | null;
5925
+ /**
5926
+ * Create-only copy command — `empty` copies unfilled positions, `assigned` copies staffed positions. Omit or send null to copy no positions. Any other value answers 422.
5927
+ */
5928
+ position_option?: 'empty' | 'assigned' | null;
5929
+ /**
5930
+ * Company keys must name a company member who is recorded as the template job's creator. User keys act as themselves; a different id answers 403. Omission on a company key answers 400; a non-member answers 422.
5931
+ */
5932
+ performed_by_user_id?: string;
5933
+ };
5934
+ /**
5935
+ * Request body for updating a job template. Send only fields to change in JSON; omitted fields remain unchanged. job_id, position_option, and performed_by_user_id are create-only and answer 400.
5936
+ */
5937
+ export type JobTemplateUpdateParameters = {
5938
+ /**
5939
+ * The template's display name; omit to leave it unchanged. Supplied null, a wrong type, or a blank name answers 422.
5940
+ */
5941
+ name?: string;
5942
+ /**
5943
+ * The template's description; omit to leave it unchanged. Send null to clear it.
5944
+ */
5945
+ description?: string | null;
5678
5946
  };
5679
5947
  /**
5680
5948
  * A named collection of a company's users, used to organize people for assignment, filtering, and company workflows. Membership is managed through the nested group-users endpoints.
@@ -6907,73 +7175,6 @@ export type UserCompanyCreateParameters = {
6907
7175
  value: string | null;
6908
7176
  }>;
6909
7177
  };
6910
- /**
6911
- * A worker's scheduled compensation timeline at your company — the version currently in effect plus any future-dated versions.
6912
- */
6913
- export type UserCompanyScheduledChangesResponse = {
6914
- /**
6915
- * Id of the worker whose compensation timeline this is.
6916
- */
6917
- user_id: string;
6918
- current_version: UserCompanyScheduledChange;
6919
- /**
6920
- * Future-dated compensation versions, each taking effect on its start date, ordered earliest first.
6921
- */
6922
- scheduled_changes: Array<UserCompanyScheduledChange>;
6923
- };
6924
- /**
6925
- * Request body for scheduling a future-dated compensation change. effective_date sets when the new values take effect; earlier history is preserved as its own version. Covers the pay, benefit, accrual, and department fields.
6926
- */
6927
- export type UserCompanyScheduledChangesParameters = {
6928
- /**
6929
- * Date the new values take effect (YYYY-MM-DD). Must fall on or after the earliest allowed change date and, if the worker is terminating, before the termination date. Required.
6930
- */
6931
- effective_date: string;
6932
- /**
6933
- * Base hourly pay in cents as a decimal string (for example "3250" for 32.50). Omit to carry forward the preceding version, or send null to clear it; send "0" for zero. Applies only to hourly versions. A switch to salary clears it unless it is sent, a change that names no compensation_type leaves later salaried versions without it, and a value for a salaried version answers 422.
6934
- */
6935
- hourly_rate_cents?: string | null;
6936
- /**
6937
- * Annual training-fund contribution in cents as a decimal string. Omit to carry forward the preceding version, or send null to clear it; send "0" for zero.
6938
- */
6939
- training_annual_amount_cents?: string | null;
6940
- /**
6941
- * Employer-paid annual combined health benefit in cents as a decimal string. Omit to carry forward the preceding version, or send null to clear it; send "0" for zero.
6942
- */
6943
- employer_combined_health_amount_cents?: string | null;
6944
- /**
6945
- * Employer-paid annual combined savings and retirement benefit in cents as a decimal string. Omit to carry forward the preceding version, or send null to clear it; send "0" for zero.
6946
- */
6947
- employer_combined_savings_cents?: string | null;
6948
- /**
6949
- * How the worker is paid: hourly or salary.
6950
- */
6951
- compensation_type?: 'hourly' | 'salary';
6952
- /**
6953
- * Whether the worker is eligible for overtime pay.
6954
- */
6955
- overtime_eligible?: boolean;
6956
- /**
6957
- * Annualized minutes the worker is expected to work, used to annualize fringe benefits.
6958
- */
6959
- worked_annual_minutes?: number | null;
6960
- /**
6961
- * Paid time off accrued for the year, in minutes.
6962
- */
6963
- pto_annual_minutes?: number | null;
6964
- /**
6965
- * Holiday time accrued for the year, in minutes.
6966
- */
6967
- holiday_annual_minutes?: number | null;
6968
- /**
6969
- * Paid training time for the year, in minutes.
6970
- */
6971
- training_annual_minutes?: number | null;
6972
- /**
6973
- * Id of the department to assign the worker to from this date. Department is set only through scheduled changes.
6974
- */
6975
- companies_department_id?: string | null;
6976
- };
6977
7178
  /**
6978
7179
  * A work type: a named category of job activity, either a shared global default (no owning company) or an entry scoped to a specific company.
6979
7180
  */
@@ -7007,6 +7208,24 @@ export type WorkTypeResponseObject = {
7007
7208
  */
7008
7209
  updated_at: string;
7009
7210
  };
7211
+ /**
7212
+ * Request body for creating a work type. Send fields in JSON; the work type belongs to the company that owns the API key. `verified`, `specific_to_site_type`, and `scoped_to_company_id` are refused.
7213
+ */
7214
+ export type WorkTypeParameters = {
7215
+ /**
7216
+ * Required job type name (e.g. "Solar Panel Installation"), unique among the company's work types. Omission answers 400; supplied null or a wrong type answers 422. Blank values fail model validation with 422.
7217
+ */
7218
+ value: string;
7219
+ };
7220
+ /**
7221
+ * Request body for updating a work type. Send only fields to change in JSON; omitted fields remain unchanged. `verified`, `specific_to_site_type`, and `scoped_to_company_id` are refused.
7222
+ */
7223
+ export type WorkTypeUpdateParameters = {
7224
+ /**
7225
+ * The job type name (e.g. "Solar Panel Installation"), unique among the company's work types; omit to leave it unchanged. Supplied null, a wrong type, or a blank value answers 422.
7226
+ */
7227
+ value?: string;
7228
+ };
7010
7229
  /**
7011
7230
  * A function a worker can fulfill in a position — an entry in the company's job-title taxonomy (e.g. "Electrician", "Foreman"), either company-owned or a shared global default.
7012
7231
  */
@@ -7319,63 +7538,6 @@ export type TimeEntryDeltasResponse = {
7319
7538
  * Day of the week a job's workweek and time cards start on: 0 (Sunday) through 6 (Saturday).
7320
7539
  */
7321
7540
  export type TimeCardStartDay = 0 | 1 | 2 | 3 | 4 | 5 | 6;
7322
- /**
7323
- * One version of a worker's compensation at your company, effective from its start date until the next version begins.
7324
- */
7325
- export type UserCompanyScheduledChange = {
7326
- /**
7327
- * Unique identifier of this employment version.
7328
- */
7329
- id: string;
7330
- /**
7331
- * Date this version takes effect (ISO 8601). For a scheduled change this equals the effective_date that created it.
7332
- */
7333
- start_date: string;
7334
- /**
7335
- * Base hourly pay for this version in cents as a decimal string; null when unset.
7336
- */
7337
- hourly_rate_cents: string | null;
7338
- /**
7339
- * How the worker is paid: hourly or salary.
7340
- */
7341
- compensation_type: 'hourly' | 'salary';
7342
- /**
7343
- * Whether the worker is eligible for overtime pay in this version.
7344
- */
7345
- overtime_eligible: boolean;
7346
- /**
7347
- * Annual training-fund contribution in cents as a decimal string; null when unset.
7348
- */
7349
- training_annual_amount_cents: string | null;
7350
- /**
7351
- * Employer-paid annual combined health benefit in cents as a decimal string; null when unset.
7352
- */
7353
- employer_combined_health_amount_cents: string | null;
7354
- /**
7355
- * Employer-paid annual combined savings and retirement benefit in cents as a decimal string; null when unset.
7356
- */
7357
- employer_combined_savings_cents: string | null;
7358
- /**
7359
- * Annualized minutes the worker is expected to work in this version; null when unset.
7360
- */
7361
- worked_annual_minutes: number | null;
7362
- /**
7363
- * Paid time off accrued for the year, in minutes; null when unset.
7364
- */
7365
- pto_annual_minutes: number | null;
7366
- /**
7367
- * Holiday time accrued for the year, in minutes; null when unset.
7368
- */
7369
- holiday_annual_minutes: number | null;
7370
- /**
7371
- * Paid training time for the year, in minutes; null when unset.
7372
- */
7373
- training_annual_minutes: number | null;
7374
- /**
7375
- * Id of the department the worker is assigned to in this version; null when none.
7376
- */
7377
- companies_department_id: string | null;
7378
- };
7379
7541
  /**
7380
7542
  * Request body for scheduling the end of a worker's employment at your company. Sets the employment's end date; cancel the scheduled termination to restore open-ended employment. Deleting the employment record instead (DELETE on the membership) removes it entirely and is not reversible.
7381
7543
  */
@@ -9609,6 +9771,13 @@ export type SiteCheckInResponseObject = {
9609
9771
  site_contact_last_name: string | null;
9610
9772
  employer_name: string | null;
9611
9773
  description: string | null;
9774
+ /**
9775
+ * The fixed reason chosen on a NERC check-in; null on non-NERC check-ins.
9776
+ */
9777
+ visit_reason: 'om_team' | 'oem_service_tickets' | 'owners_visit' | 'warranty_service' | 'audit_inspections' | 'regulatory_compliance' | 'third_party_vendor_support' | 'other' | null;
9778
+ /**
9779
+ * Free-text reason detail behind an `other` visit_reason.
9780
+ */
9612
9781
  rationale: string | null;
9613
9782
  /**
9614
9783
  * How the check-in was captured.
@@ -11378,11 +11547,11 @@ export type JobCaEcprXmlExportCreateParameters = {
11378
11547
  end_date: string;
11379
11548
  };
11380
11549
  /**
11381
- * A job-scoped WH-347 certified-payroll export. The generation handle is polled through this same document; `file` is null until a ZIP is attached. Signing fields are not published.
11550
+ * A job-scoped NY DOL XML certified-payroll export. The generation handle is polled through this same document; `file` is null until an XML or ZIP is attached. Signing fields are not published. This format has no form version.
11382
11551
  */
11383
- export type JobWh347ExportResponseObject = {
11552
+ export type JobNyDolXmlExportResponseObject = {
11384
11553
  /**
11385
- * Id of the WH-347 export row.
11554
+ * Id of the NY DOL XML export row.
11386
11555
  */
11387
11556
  id: string;
11388
11557
  /**
@@ -11398,15 +11567,15 @@ export type JobWh347ExportResponseObject = {
11398
11567
  */
11399
11568
  end_date: string;
11400
11569
  /**
11401
- * Generation-handle status — `pending`, `processing`, `signing`, `signed`, `certifying`, `success`, or `failed`. Create never enters the signing states; those appear only on jobs created in the web app.
11570
+ * Generation-handle status — `pending`, `processing`, `signing`, `signed`, `certifying`, `success`, or `failed`. NY DOL generation does not enter the signing states.
11402
11571
  */
11403
11572
  status: 'pending' | 'processing' | 'signing' | 'signed' | 'certifying' | 'success' | 'failed';
11404
11573
  /**
11405
- * The generated ZIP's filename, content type, size, and URL; null when no file is attached.
11574
+ * The generated file's filename, content type, size, and URL; null when no file is attached.
11406
11575
  */
11407
11576
  file: {
11408
11577
  /**
11409
- * Stored name of the generated ZIP.
11578
+ * Stored name of the generated file.
11410
11579
  */
11411
11580
  filename: string;
11412
11581
  /**
@@ -11431,29 +11600,25 @@ export type JobWh347ExportResponseObject = {
11431
11600
  */
11432
11601
  invalidation_reason: 'source_data_changed' | 'source_records_deleted' | 'ratio_status_changed' | null;
11433
11602
  /**
11434
- * WH-347 form version that was or will be generated — `v1` or `v2`. Server-selected on create.
11435
- */
11436
- version: 'v1' | 'v2';
11437
- /**
11438
- * When the WH-347 export row was created.
11603
+ * When the NY DOL XML export row was created.
11439
11604
  */
11440
11605
  created_at: string;
11441
11606
  };
11442
11607
  /**
11443
- * A page of a job's WH-347 certified-payroll exports, with pagination metadata and navigation links.
11608
+ * A page of a job's NY DOL XML certified-payroll exports, with pagination metadata and navigation links.
11444
11609
  */
11445
- export type JobWh347ExportsResponseObject = {
11610
+ export type JobNyDolXmlExportsResponseObject = {
11446
11611
  meta: Meta;
11447
11612
  links: Links;
11448
11613
  /**
11449
- * The page of WH-347 exports.
11614
+ * The page of NY DOL XML exports.
11450
11615
  */
11451
- data: Array<JobWh347ExportResponseObject>;
11616
+ data: Array<JobNyDolXmlExportResponseObject>;
11452
11617
  };
11453
11618
  /**
11454
- * Start a job-scoped WH-347 certified-payroll export over a calendar window. Creation requires a user-scoped API key, because the generation handle attributes the export to a person. The response is the pending export; poll the member GET for status and the file URL. Version, filename, and signing are server-owned. A job that does not offer WH-347 answers 422 certified_payroll_format_unavailable. A window with no reportable pay periods answers 422 nothing_exportable.
11619
+ * Start a job-scoped NY DOL XML certified-payroll export over a calendar window. Creation requires a user-scoped API key, because the generation handle attributes the export to a person. The response is the pending export; poll the member GET for status and the file URL. Filename is server-owned. A job that does not offer NY DOL XML answers 422 certified_payroll_format_unavailable. Failing compliance checks that block the export answer 422 certified_payroll_export_blocked. A window with no reportable pay periods answers 422 nothing_exportable.
11455
11620
  */
11456
- export type JobWh347ExportCreateParameters = {
11621
+ export type JobNyDolXmlExportCreateParameters = {
11457
11622
  /**
11458
11623
  * First calendar day of the filing window, `YYYY-MM-DD`. Required; omission answers 400. Must be on or before `end_date`.
11459
11624
  */
@@ -11464,113 +11629,35 @@ export type JobWh347ExportCreateParameters = {
11464
11629
  end_date: string;
11465
11630
  };
11466
11631
  /**
11467
- * A form-completion task attached to a job — a SurveyJS form assigned to users with a due time, optional recurrence, and reminders. Path `{id}` is the `Tasks::JobFormAssignmentTask` id, not the web show `Task#uid`.
11468
- */
11469
- export type JobFormAssignmentResponseObject = {
11470
- /**
11471
- * Unique identifier.
11472
- */
11473
- id: string;
11474
- /**
11475
- * ID of the job this form task belongs to; always matches the job in the URL path.
11476
- */
11477
- job_id: string;
11478
- /**
11479
- * ID of the form definition (a SurveyJS form template) this assignment is for.
11480
- */
11481
- form_definition_id: string;
11482
- /**
11483
- * Name of the form task; defaults to the form definition's name.
11484
- */
11485
- name: string;
11486
- /**
11487
- * Free-text description of the task.
11488
- */
11489
- description: string | null;
11490
- /**
11491
- * IANA time zone in which time_due is interpreted; always set, defaulting to US/Central.
11492
- */
11493
- tz_name: string;
11494
- /**
11495
- * When the form task is due (ISO 8601), interpreted in tz_name; null for an unscheduled task.
11496
- */
11497
- time_due: string | null;
11498
- /**
11499
- * How often this form task recurs: one of DAILY, WORKDAILY, WORKDAILYSIX, WEEKLY, BIWEEKLY, MONTHLY, or QUARTERLY. Null for a one-time assignment; on write, applied only when recurring is true.
11500
- */
11501
- frequency: 'DAILY' | 'WORKDAILY' | 'WORKDAILYSIX' | 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'QUARTERLY' | null;
11502
- /**
11503
- * When recurrence stops (ISO 8601); null for a non-recurring or open-ended task.
11504
- */
11505
- recurrence_end_time: string | null;
11506
- /**
11507
- * IDs of the users this form task is assigned to.
11508
- */
11509
- task_assignee_user_ids: Array<string>;
11510
- /**
11511
- * Reminder notifications for this task, each scheduled at an offset from the due time.
11512
- */
11513
- reminders: Array<{
11514
- /**
11515
- * ISO 8601 duration offset from the due time for the reminder (e.g. -PT1H for one hour before); must be one of the preset reminder times.
11516
- */
11517
- offset: string;
11518
- /**
11519
- * When the reminder fires (ISO 8601), computed as the due time plus the offset.
11520
- */
11521
- remind_at: string;
11522
- }>;
11523
- };
11524
- /**
11525
- * A corrective payment recorded against a job's PWA obligations. Does not include pretty type, currency, or a Money amount.
11632
+ * A job-scoped WH-347 certified-payroll export. The generation handle is polled through this same document; `file` is null until a ZIP is attached. Signing fields are not published.
11526
11633
  */
11527
- export type JobCurePaymentResponseObject = {
11634
+ export type JobWh347ExportResponseObject = {
11528
11635
  /**
11529
- * Id of the cure payment.
11636
+ * Id of the WH-347 export row.
11530
11637
  */
11531
11638
  id: string;
11532
11639
  /**
11533
- * Id of the job this payment belongs to.
11640
+ * Id of the job this export is scoped to. Always matches the job in the URL path.
11534
11641
  */
11535
11642
  job_id: string;
11536
11643
  /**
11537
- * Stored STI class name — `Pwa::CurePayments::Federal` or `Pwa::CurePayments::Regional`. The full class name, not a demodulized label.
11538
- */
11539
- type: 'Pwa::CurePayments::Federal' | 'Pwa::CurePayments::Regional';
11540
- /**
11541
- * Payment amount in cents as a decimal string (numeric(19,2)), for example `"150000.0"`. Not an integer, not dollars, and not rounded.
11542
- */
11543
- amount_cents: string;
11544
- /**
11545
- * Calendar date the payment was made.
11546
- */
11547
- paid_on_date: string;
11548
- /**
11549
- * First calendar day of the window this payment cures.
11550
- */
11551
- cures_from_date: string;
11552
- /**
11553
- * Last calendar day of the window this payment cures.
11644
+ * First calendar day of the filing window.
11554
11645
  */
11555
- cures_to_date: string;
11646
+ start_date: string;
11556
11647
  /**
11557
- * Optional notes; null when absent.
11648
+ * Last calendar day of the filing window.
11558
11649
  */
11559
- notes: string | null;
11650
+ end_date: string;
11560
11651
  /**
11561
- * Id of the user who recorded the payment.
11652
+ * Generation-handle status — `pending`, `processing`, `signing`, `signed`, `certifying`, `success`, or `failed`. Create never enters the signing states; those appear only on jobs created in the web app.
11562
11653
  */
11563
- created_by_user_id: string;
11654
+ status: 'pending' | 'processing' | 'signing' | 'signed' | 'certifying' | 'success' | 'failed';
11564
11655
  /**
11565
- * Attestation file for this payment, or null when none is attached.
11656
+ * The generated ZIP's filename, content type, size, and URL; null when no file is attached.
11566
11657
  */
11567
- attestation: {
11568
- /**
11569
- * ID of the attestation document; unchanged when the file is replaced.
11570
- */
11571
- id: string;
11658
+ file: {
11572
11659
  /**
11573
- * Stored name of the uploaded file.
11660
+ * Stored name of the generated ZIP.
11574
11661
  */
11575
11662
  filename: string;
11576
11663
  /**
@@ -11587,107 +11674,271 @@ export type JobCurePaymentResponseObject = {
11587
11674
  url: string;
11588
11675
  } | null;
11589
11676
  /**
11590
- * When the payment was created.
11591
- */
11592
- created_at: string;
11593
- /**
11594
- * When the payment was last updated.
11595
- */
11596
- updated_at: string;
11597
- };
11598
- /**
11599
- * Request body for creating a job PWA cure payment. `job_id` comes from the path and is not part of the body. `type`, `amount_cents`, the three dates, and `performed_by_user_id` are required; omitting any of those returns 400. The attestation file attaches through `attestation_signed_id` (a purpose-bound `jobs.pwa.cure_payments` signed id). Undeclared body keys return 400, and a null for a field that is not nullable or a wrongly typed value returns 422 at its pointer, before any payment is saved.
11600
- */
11601
- export type JobCurePaymentParameters = {
11602
- /**
11603
- * Payment amount in whole cents as a digit string, for example `"150000"`. A JSON integer, a fractional string, or a non-digit value answers 422.
11604
- */
11605
- amount_cents: string;
11606
- /**
11607
- * Calendar date the payment was made, as `YYYY-MM-DD`. Any other string, a timestamp included, answers 422. Must not be in the future.
11608
- */
11609
- paid_on_date: string;
11610
- /**
11611
- * First calendar day of the window this payment cures, as `YYYY-MM-DD`. Must be on or before `cures_to_date` and not in the future.
11612
- */
11613
- cures_from_date: string;
11614
- /**
11615
- * Last calendar day of the window this payment cures, as `YYYY-MM-DD`. Must be on or after `cures_from_date` and not in the future.
11616
- */
11617
- cures_to_date: string;
11618
- /**
11619
- * Optional notes; null stores absence.
11677
+ * When source data was observed to have drifted from this export; null when it has not.
11620
11678
  */
11621
- notes?: string | null;
11679
+ invalidated_at: string | null;
11622
11680
  /**
11623
- * A signed_id from POST /api/v1/direct_uploads registered for `jobs.pwa.cure_payments`. Omit the key to keep the stored file; a signed id creates or replaces the attestation document. Null or a blank string answers 422 — there is no clear.
11681
+ * Why the export was invalidated — `source_data_changed`, `source_records_deleted`, or `ratio_status_changed`. Null when `invalidated_at` is null.
11624
11682
  */
11625
- attestation_signed_id?: string;
11683
+ invalidation_reason: 'source_data_changed' | 'source_records_deleted' | 'ratio_status_changed' | null;
11626
11684
  /**
11627
- * ID of the user recorded as creator of the payment (and of a newly attached attestation). Required on create (omission answers 400). On update it is required when `attestation_signed_id` is present and ignored when that key is omitted. Supplied null, a blank ID, or a wrong type answers 422. A user the API key cannot see answers 404 `reference_not_found`. Replacing a populated attestation keeps the original document creator and records this user as the actor on the replacement's document history.
11685
+ * WH-347 form version that was or will be generated — `v1` or `v2`. Server-selected on create.
11628
11686
  */
11629
- performed_by_user_id: string;
11687
+ version: 'v1' | 'v2';
11630
11688
  /**
11631
- * Stored STI class name — `Pwa::CurePayments::Federal` or `Pwa::CurePayments::Regional`. Create-only; every update that includes it returns 400, even when unchanged.
11689
+ * When the WH-347 export row was created.
11632
11690
  */
11633
- type: 'Pwa::CurePayments::Federal' | 'Pwa::CurePayments::Regional';
11691
+ created_at: string;
11634
11692
  };
11635
11693
  /**
11636
- * Request body for updating a job PWA cure payment. Every field is optional; omit a field to preserve its current value. `type` is create-only; omit it on PATCH. Every update that includes it returns 400, even when unchanged. The attestation file attaches through the same `attestation_signed_id` key as create; omit the key to keep the stored file, and send `performed_by_user_id` when a signed id is present. Undeclared body keys return 400, and a null for a field that is not nullable or a wrongly typed value returns 422 at its pointer, before any payment changes.
11694
+ * A page of a job's WH-347 certified-payroll exports, with pagination metadata and navigation links.
11637
11695
  */
11638
- export type JobCurePaymentUpdateParameters = {
11639
- /**
11640
- * Replacement payment amount in whole cents as a digit string. A JSON integer, a fractional string, or a non-digit value answers 422. Omit to preserve the current amount.
11641
- */
11642
- amount_cents?: string;
11643
- /**
11644
- * Replacement calendar date the payment was made, as `YYYY-MM-DD`. Must not be in the future.
11645
- */
11646
- paid_on_date?: string;
11647
- /**
11648
- * Replacement first calendar day of the cured window, as `YYYY-MM-DD`.
11649
- */
11650
- cures_from_date?: string;
11651
- /**
11652
- * Replacement last calendar day of the cured window, as `YYYY-MM-DD`.
11653
- */
11654
- cures_to_date?: string;
11655
- /**
11656
- * Replacement notes; null stores absence. Omit to preserve the current value.
11657
- */
11658
- notes?: string | null;
11659
- /**
11660
- * A signed_id from POST /api/v1/direct_uploads registered for `jobs.pwa.cure_payments`. Omit the key to keep the stored file; a signed id creates or replaces the attestation document. Null or a blank string answers 422 — there is no clear. When this key is present, `performed_by_user_id` is required.
11661
- */
11662
- attestation_signed_id?: string;
11696
+ export type JobWh347ExportsResponseObject = {
11697
+ meta: Meta;
11698
+ links: Links;
11663
11699
  /**
11664
- * ID of the user recorded as creator of a newly attached attestation. Required when `attestation_signed_id` is present (omission then answers 400); ignored when that key is omitted. A user the API key cannot see answers 404 `reference_not_found`. Replacing a populated slot keeps the original creator and records this user as the actor on the replacement's document history.
11700
+ * The page of WH-347 exports.
11665
11701
  */
11666
- performed_by_user_id?: string;
11702
+ data: Array<JobWh347ExportResponseObject>;
11667
11703
  };
11668
11704
  /**
11669
- * A page of a job's PWA cure payments, with pagination metadata and navigation links.
11705
+ * Start a job-scoped WH-347 certified-payroll export over a calendar window. Creation requires a user-scoped API key, because the generation handle attributes the export to a person. The response is the pending export; poll the member GET for status and the file URL. Version, filename, and signing are server-owned. A job that does not offer WH-347 answers 422 certified_payroll_format_unavailable. A window with no reportable pay periods answers 422 nothing_exportable.
11670
11706
  */
11671
- export type JobCurePaymentsResponseObject = {
11672
- meta: Meta;
11673
- links: Links;
11707
+ export type JobWh347ExportCreateParameters = {
11674
11708
  /**
11675
- * The page of cure payments.
11709
+ * First calendar day of the filing window, `YYYY-MM-DD`. Required; omission answers 400. Must be on or before `end_date`.
11676
11710
  */
11677
- data: Array<JobCurePaymentResponseObject>;
11711
+ start_date: string;
11712
+ /**
11713
+ * Last calendar day of the filing window, `YYYY-MM-DD`. Required; omission answers 400. Must be on or after `start_date`.
11714
+ */
11715
+ end_date: string;
11678
11716
  };
11679
11717
  /**
11680
- * A form-completion task attached to a site — a SurveyJS form assigned to users with a due time, optional recurrence, and reminders. Path `{id}` is the `Tasks::SiteFormAssignmentTask` id, not the web show `Task#uid`. Sites are shared across companies; another company's assignment on the same site is not found. An empty assignee list is valid.
11718
+ * A form-completion task attached to a job — a SurveyJS form assigned to users with a due time, optional recurrence, and reminders. Path `{id}` is the `Tasks::JobFormAssignmentTask` id, not the web show `Task#uid`.
11681
11719
  */
11682
- export type SiteFormAssignmentResponseObject = {
11720
+ export type JobFormAssignmentResponseObject = {
11683
11721
  /**
11684
11722
  * Unique identifier.
11685
11723
  */
11686
11724
  id: string;
11687
11725
  /**
11688
- * ID of the site this form task belongs to; always matches the site in the URL path.
11726
+ * ID of the job this form task belongs to; always matches the job in the URL path.
11689
11727
  */
11690
- site_id: string;
11728
+ job_id: string;
11729
+ /**
11730
+ * ID of the form definition (a SurveyJS form template) this assignment is for.
11731
+ */
11732
+ form_definition_id: string;
11733
+ /**
11734
+ * Name of the form task; defaults to the form definition's name.
11735
+ */
11736
+ name: string;
11737
+ /**
11738
+ * Free-text description of the task.
11739
+ */
11740
+ description: string | null;
11741
+ /**
11742
+ * IANA time zone in which time_due is interpreted; always set, defaulting to US/Central.
11743
+ */
11744
+ tz_name: string;
11745
+ /**
11746
+ * When the form task is due (ISO 8601), interpreted in tz_name; null for an unscheduled task.
11747
+ */
11748
+ time_due: string | null;
11749
+ /**
11750
+ * How often this form task recurs: one of DAILY, WORKDAILY, WORKDAILYSIX, WEEKLY, BIWEEKLY, MONTHLY, or QUARTERLY. Null for a one-time assignment; on write, applied only when recurring is true.
11751
+ */
11752
+ frequency: 'DAILY' | 'WORKDAILY' | 'WORKDAILYSIX' | 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'QUARTERLY' | null;
11753
+ /**
11754
+ * When recurrence stops (ISO 8601); null for a non-recurring or open-ended task.
11755
+ */
11756
+ recurrence_end_time: string | null;
11757
+ /**
11758
+ * IDs of the users this form task is assigned to.
11759
+ */
11760
+ task_assignee_user_ids: Array<string>;
11761
+ /**
11762
+ * Reminder notifications for this task, each scheduled at an offset from the due time.
11763
+ */
11764
+ reminders: Array<{
11765
+ /**
11766
+ * ISO 8601 duration offset from the due time for the reminder (e.g. -PT1H for one hour before); must be one of the preset reminder times.
11767
+ */
11768
+ offset: string;
11769
+ /**
11770
+ * When the reminder fires (ISO 8601), computed as the due time plus the offset.
11771
+ */
11772
+ remind_at: string;
11773
+ }>;
11774
+ };
11775
+ /**
11776
+ * A corrective payment recorded against a job's PWA obligations. Does not include pretty type, currency, or a Money amount.
11777
+ */
11778
+ export type JobCurePaymentResponseObject = {
11779
+ /**
11780
+ * Id of the cure payment.
11781
+ */
11782
+ id: string;
11783
+ /**
11784
+ * Id of the job this payment belongs to.
11785
+ */
11786
+ job_id: string;
11787
+ /**
11788
+ * Stored STI class name — `Pwa::CurePayments::Federal` or `Pwa::CurePayments::Regional`. The full class name, not a demodulized label.
11789
+ */
11790
+ type: 'Pwa::CurePayments::Federal' | 'Pwa::CurePayments::Regional';
11791
+ /**
11792
+ * Payment amount in cents as a decimal string (numeric(19,2)), for example `"150000.0"`. Not an integer, not dollars, and not rounded.
11793
+ */
11794
+ amount_cents: string;
11795
+ /**
11796
+ * Calendar date the payment was made.
11797
+ */
11798
+ paid_on_date: string;
11799
+ /**
11800
+ * First calendar day of the window this payment cures.
11801
+ */
11802
+ cures_from_date: string;
11803
+ /**
11804
+ * Last calendar day of the window this payment cures.
11805
+ */
11806
+ cures_to_date: string;
11807
+ /**
11808
+ * Optional notes; null when absent.
11809
+ */
11810
+ notes: string | null;
11811
+ /**
11812
+ * Id of the user who recorded the payment.
11813
+ */
11814
+ created_by_user_id: string;
11815
+ /**
11816
+ * Attestation file for this payment, or null when none is attached.
11817
+ */
11818
+ attestation: {
11819
+ /**
11820
+ * ID of the attestation document; unchanged when the file is replaced.
11821
+ */
11822
+ id: string;
11823
+ /**
11824
+ * Stored name of the uploaded file.
11825
+ */
11826
+ filename: string;
11827
+ /**
11828
+ * MIME type of the file; null when not recorded.
11829
+ */
11830
+ content_type: string | null;
11831
+ /**
11832
+ * Size of the file in bytes.
11833
+ */
11834
+ byte_size: number;
11835
+ /**
11836
+ * A URL to download the file.
11837
+ */
11838
+ url: string;
11839
+ } | null;
11840
+ /**
11841
+ * When the payment was created.
11842
+ */
11843
+ created_at: string;
11844
+ /**
11845
+ * When the payment was last updated.
11846
+ */
11847
+ updated_at: string;
11848
+ };
11849
+ /**
11850
+ * Request body for creating a job PWA cure payment. `job_id` comes from the path and is not part of the body. `type`, `amount_cents`, the three dates, and `performed_by_user_id` are required; omitting any of those returns 400. The attestation file attaches through `attestation_signed_id` (a purpose-bound `jobs.pwa.cure_payments` signed id). Undeclared body keys return 400, and a null for a field that is not nullable or a wrongly typed value returns 422 at its pointer, before any payment is saved.
11851
+ */
11852
+ export type JobCurePaymentParameters = {
11853
+ /**
11854
+ * Payment amount in whole cents as a digit string, for example `"150000"`. A JSON integer, a fractional string, or a non-digit value answers 422.
11855
+ */
11856
+ amount_cents: string;
11857
+ /**
11858
+ * Calendar date the payment was made, as `YYYY-MM-DD`. Any other string, a timestamp included, answers 422. Must not be in the future.
11859
+ */
11860
+ paid_on_date: string;
11861
+ /**
11862
+ * First calendar day of the window this payment cures, as `YYYY-MM-DD`. Must be on or before `cures_to_date` and not in the future.
11863
+ */
11864
+ cures_from_date: string;
11865
+ /**
11866
+ * Last calendar day of the window this payment cures, as `YYYY-MM-DD`. Must be on or after `cures_from_date` and not in the future.
11867
+ */
11868
+ cures_to_date: string;
11869
+ /**
11870
+ * Optional notes; null stores absence.
11871
+ */
11872
+ notes?: string | null;
11873
+ /**
11874
+ * A signed_id from POST /api/v1/direct_uploads registered for `jobs.pwa.cure_payments`. Omit the key to keep the stored file; a signed id creates or replaces the attestation document. Null or a blank string answers 422 — there is no clear.
11875
+ */
11876
+ attestation_signed_id?: string;
11877
+ /**
11878
+ * ID of the user recorded as creator of the payment (and of a newly attached attestation). Required on create (omission answers 400). On update it is required when `attestation_signed_id` is present and ignored when that key is omitted. Supplied null, a blank ID, or a wrong type answers 422. A user the API key cannot see answers 404 `reference_not_found`. Replacing a populated attestation keeps the original document creator and records this user as the actor on the replacement's document history.
11879
+ */
11880
+ performed_by_user_id: string;
11881
+ /**
11882
+ * Stored STI class name — `Pwa::CurePayments::Federal` or `Pwa::CurePayments::Regional`. Create-only; every update that includes it returns 400, even when unchanged.
11883
+ */
11884
+ type: 'Pwa::CurePayments::Federal' | 'Pwa::CurePayments::Regional';
11885
+ };
11886
+ /**
11887
+ * Request body for updating a job PWA cure payment. Every field is optional; omit a field to preserve its current value. `type` is create-only; omit it on PATCH. Every update that includes it returns 400, even when unchanged. The attestation file attaches through the same `attestation_signed_id` key as create; omit the key to keep the stored file, and send `performed_by_user_id` when a signed id is present. Undeclared body keys return 400, and a null for a field that is not nullable or a wrongly typed value returns 422 at its pointer, before any payment changes.
11888
+ */
11889
+ export type JobCurePaymentUpdateParameters = {
11890
+ /**
11891
+ * Replacement payment amount in whole cents as a digit string. A JSON integer, a fractional string, or a non-digit value answers 422. Omit to preserve the current amount.
11892
+ */
11893
+ amount_cents?: string;
11894
+ /**
11895
+ * Replacement calendar date the payment was made, as `YYYY-MM-DD`. Must not be in the future.
11896
+ */
11897
+ paid_on_date?: string;
11898
+ /**
11899
+ * Replacement first calendar day of the cured window, as `YYYY-MM-DD`.
11900
+ */
11901
+ cures_from_date?: string;
11902
+ /**
11903
+ * Replacement last calendar day of the cured window, as `YYYY-MM-DD`.
11904
+ */
11905
+ cures_to_date?: string;
11906
+ /**
11907
+ * Replacement notes; null stores absence. Omit to preserve the current value.
11908
+ */
11909
+ notes?: string | null;
11910
+ /**
11911
+ * A signed_id from POST /api/v1/direct_uploads registered for `jobs.pwa.cure_payments`. Omit the key to keep the stored file; a signed id creates or replaces the attestation document. Null or a blank string answers 422 — there is no clear. When this key is present, `performed_by_user_id` is required.
11912
+ */
11913
+ attestation_signed_id?: string;
11914
+ /**
11915
+ * ID of the user recorded as creator of a newly attached attestation. Required when `attestation_signed_id` is present (omission then answers 400); ignored when that key is omitted. A user the API key cannot see answers 404 `reference_not_found`. Replacing a populated slot keeps the original creator and records this user as the actor on the replacement's document history.
11916
+ */
11917
+ performed_by_user_id?: string;
11918
+ };
11919
+ /**
11920
+ * A page of a job's PWA cure payments, with pagination metadata and navigation links.
11921
+ */
11922
+ export type JobCurePaymentsResponseObject = {
11923
+ meta: Meta;
11924
+ links: Links;
11925
+ /**
11926
+ * The page of cure payments.
11927
+ */
11928
+ data: Array<JobCurePaymentResponseObject>;
11929
+ };
11930
+ /**
11931
+ * A form-completion task attached to a site — a SurveyJS form assigned to users with a due time, optional recurrence, and reminders. Path `{id}` is the `Tasks::SiteFormAssignmentTask` id, not the web show `Task#uid`. Sites are shared across companies; another company's assignment on the same site is not found. An empty assignee list is valid.
11932
+ */
11933
+ export type SiteFormAssignmentResponseObject = {
11934
+ /**
11935
+ * Unique identifier.
11936
+ */
11937
+ id: string;
11938
+ /**
11939
+ * ID of the site this form task belongs to; always matches the site in the URL path.
11940
+ */
11941
+ site_id: string;
11691
11942
  /**
11692
11943
  * ID of the form definition (a SurveyJS form template) this assignment is for.
11693
11944
  */
@@ -15405,6 +15656,61 @@ export type PayRatesRuleHistoryVersionObject = {
15405
15656
  version_status: 'scheduled' | 'current' | 'historical';
15406
15657
  corrections: Array<PayRatesRuleHistoryCorrectionObject>;
15407
15658
  };
15659
+ /**
15660
+ * A company-owned collection of overtime rules, used as an employment and wage-determination fallback.
15661
+ */
15662
+ export type OvertimePackageResponseObject = {
15663
+ /**
15664
+ * Unique identifier of the overtime package.
15665
+ */
15666
+ id: string;
15667
+ /**
15668
+ * Human-readable package name.
15669
+ */
15670
+ name: string;
15671
+ /**
15672
+ * Free-form package description.
15673
+ */
15674
+ description: string;
15675
+ /**
15676
+ * Whether this is the company's default overtime package. Setting it to true demotes the previous default and migrates eligible employments onto this package.
15677
+ */
15678
+ default: boolean;
15679
+ };
15680
+ /**
15681
+ * Parameters for creating a company overtime package. `name` and `description` are required by the model; omitting either answers 422. The company and selectability are stamped by the server.
15682
+ */
15683
+ export type OvertimePackageParameters = {
15684
+ /**
15685
+ * Human-readable package name.
15686
+ */
15687
+ name?: string;
15688
+ /**
15689
+ * Free-form package description.
15690
+ */
15691
+ description?: string;
15692
+ /**
15693
+ * Whether this package becomes the company default. Omit or send false to leave the current default in place.
15694
+ */
15695
+ default?: boolean;
15696
+ };
15697
+ /**
15698
+ * Request body for updating a company overtime package. Send only the fields to change. Setting `default` to true demotes the previous default and migrates eligible employments onto this package.
15699
+ */
15700
+ export type OvertimePackageUpdateParameters = {
15701
+ /**
15702
+ * Human-readable package name. Omit to leave it unchanged.
15703
+ */
15704
+ name?: string;
15705
+ /**
15706
+ * Free-form package description. Omit to leave it unchanged.
15707
+ */
15708
+ description?: string;
15709
+ /**
15710
+ * Whether this package is the company default. Omit to leave it unchanged.
15711
+ */
15712
+ default?: boolean;
15713
+ };
15408
15714
  /**
15409
15715
  * An overtime rule (daily or weekly) belonging to an overtime package. It sets a pay multiplier that applies once a worked-hours threshold — and any day or date qualifier — is met. `valid_from`/`valid_to` bound the window this version is in effect.
15410
15716
  */
@@ -16002,6 +16308,10 @@ export type AssetsSiteResponseObject = {
16002
16308
  * IDs of the users who answer for this location — a transfer sent to it is addressed to them, and they are notified and asked to accept it. Empty when nobody is named, in which case every admin and manager of the company answers.
16003
16309
  */
16004
16310
  responsible_user_ids: Array<string>;
16311
+ /**
16312
+ * When the location was archived (ISO 8601); null while active. An archived location is hidden from listings by default (see filter[state]), accepts no stock or transfers, and is read-only until unarchived. Archiving frees its name and its backing Atlas site for another location.
16313
+ */
16314
+ archived_at: string | null;
16005
16315
  /**
16006
16316
  * When the record was created (ISO 8601).
16007
16317
  */
@@ -16032,6 +16342,12 @@ export type AssetsSiteParameters = {
16032
16342
  */
16033
16343
  responsible_user_ids?: Array<string>;
16034
16344
  };
16345
+ /**
16346
+ * Archive a site. The body takes no fields; send an empty object or no body. Archiving an archived site returns it unchanged.
16347
+ */
16348
+ export type AssetsSiteArchiveParameters = {
16349
+ [key: string]: never;
16350
+ };
16035
16351
  /**
16036
16352
  * Request body for updating an asset location. Every field is optional; send only the fields to change. The saved location must still have a name or a backing `site_id`.
16037
16353
  */
@@ -17956,6 +18272,12 @@ export type UserCertificationResponseObjectWritable = {
17956
18272
  */
17957
18273
  updated_at: string;
17958
18274
  };
18275
+ /**
18276
+ * Archive a site. The body takes no fields; send an empty object or no body. Archiving an archived site returns it unchanged.
18277
+ */
18278
+ export type AssetsSiteArchiveParametersWritable = {
18279
+ [key: string]: never;
18280
+ };
17959
18281
  export type ListApiKeyScopesData = {
17960
18282
  body?: never;
17961
18283
  path?: never;
@@ -19128,6 +19450,184 @@ export type UpdateWageScheduleResponses = {
19128
19450
  200: ApprenticeshipWageScheduleResponseObject;
19129
19451
  };
19130
19452
  export type UpdateWageScheduleResponse = UpdateWageScheduleResponses[keyof UpdateWageScheduleResponses];
19453
+ export type ListWorkProcessCategoriesData = {
19454
+ body?: never;
19455
+ path: {
19456
+ occupation_id: string;
19457
+ };
19458
+ query?: {
19459
+ 'filter[created_at][gte]'?: string;
19460
+ 'filter[created_at][lte]'?: string;
19461
+ 'filter[updated_at][gte]'?: string;
19462
+ 'filter[updated_at][lte]'?: string;
19463
+ filter?: string;
19464
+ 'filter[unexpected]'?: string;
19465
+ /**
19466
+ * This pagination cursor corresponds to the cursor value found in the response in
19467
+ * `meta.page.next_cursor`.
19468
+ */
19469
+ 'page[cursor]'?: string;
19470
+ /**
19471
+ * 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`.
19472
+ */
19473
+ 'page[limit]'?: number;
19474
+ page?: string;
19475
+ };
19476
+ url: '/api/v1/apprenticeship/occupations/{occupation_id}/work_process_categories';
19477
+ };
19478
+ export type ListWorkProcessCategoriesErrors = {
19479
+ /**
19480
+ * Bad Request
19481
+ */
19482
+ 400: Problem;
19483
+ /**
19484
+ * Forbidden
19485
+ */
19486
+ 403: Problem;
19487
+ /**
19488
+ * Not Found
19489
+ */
19490
+ 404: Problem;
19491
+ /**
19492
+ * Unprocessable Content
19493
+ */
19494
+ 422: Problem;
19495
+ };
19496
+ export type ListWorkProcessCategoriesError = ListWorkProcessCategoriesErrors[keyof ListWorkProcessCategoriesErrors];
19497
+ export type ListWorkProcessCategoriesResponses = {
19498
+ /**
19499
+ * Success
19500
+ */
19501
+ 200: {
19502
+ meta: Meta;
19503
+ links: Links;
19504
+ data: Array<ApprenticeshipWorkProcessCategoryResponseObject>;
19505
+ };
19506
+ };
19507
+ export type ListWorkProcessCategoriesResponse = ListWorkProcessCategoriesResponses[keyof ListWorkProcessCategoriesResponses];
19508
+ export type CreateWorkProcessCategoryData = {
19509
+ body?: ApprenticeshipWorkProcessCategoryParameters;
19510
+ path: {
19511
+ occupation_id: string;
19512
+ };
19513
+ query?: never;
19514
+ url: '/api/v1/apprenticeship/occupations/{occupation_id}/work_process_categories';
19515
+ };
19516
+ export type CreateWorkProcessCategoryErrors = {
19517
+ /**
19518
+ * Bad Request
19519
+ */
19520
+ 400: Problem;
19521
+ /**
19522
+ * Forbidden
19523
+ */
19524
+ 403: Problem;
19525
+ /**
19526
+ * Unprocessable Content
19527
+ */
19528
+ 422: Problem;
19529
+ };
19530
+ export type CreateWorkProcessCategoryError = CreateWorkProcessCategoryErrors[keyof CreateWorkProcessCategoryErrors];
19531
+ export type CreateWorkProcessCategoryResponses = {
19532
+ /**
19533
+ * Created
19534
+ */
19535
+ 201: ApprenticeshipWorkProcessCategoryResponseObject;
19536
+ };
19537
+ export type CreateWorkProcessCategoryResponse = CreateWorkProcessCategoryResponses[keyof CreateWorkProcessCategoryResponses];
19538
+ export type DeleteWorkProcessCategoryData = {
19539
+ body?: never;
19540
+ path: {
19541
+ occupation_id: string;
19542
+ id: string;
19543
+ };
19544
+ query?: never;
19545
+ url: '/api/v1/apprenticeship/occupations/{occupation_id}/work_process_categories/{id}';
19546
+ };
19547
+ export type DeleteWorkProcessCategoryErrors = {
19548
+ /**
19549
+ * Forbidden
19550
+ */
19551
+ 403: Problem;
19552
+ /**
19553
+ * Not Found
19554
+ */
19555
+ 404: Problem;
19556
+ /**
19557
+ * Unprocessable Content
19558
+ */
19559
+ 422: Problem;
19560
+ };
19561
+ export type DeleteWorkProcessCategoryError = DeleteWorkProcessCategoryErrors[keyof DeleteWorkProcessCategoryErrors];
19562
+ export type DeleteWorkProcessCategoryResponses = {
19563
+ /**
19564
+ * No Content
19565
+ */
19566
+ 204: void;
19567
+ };
19568
+ export type DeleteWorkProcessCategoryResponse = DeleteWorkProcessCategoryResponses[keyof DeleteWorkProcessCategoryResponses];
19569
+ export type GetWorkProcessCategoryData = {
19570
+ body?: never;
19571
+ path: {
19572
+ occupation_id: string;
19573
+ id: string;
19574
+ };
19575
+ query?: never;
19576
+ url: '/api/v1/apprenticeship/occupations/{occupation_id}/work_process_categories/{id}';
19577
+ };
19578
+ export type GetWorkProcessCategoryErrors = {
19579
+ /**
19580
+ * Forbidden
19581
+ */
19582
+ 403: Problem;
19583
+ /**
19584
+ * Not Found
19585
+ */
19586
+ 404: Problem;
19587
+ };
19588
+ export type GetWorkProcessCategoryError = GetWorkProcessCategoryErrors[keyof GetWorkProcessCategoryErrors];
19589
+ export type GetWorkProcessCategoryResponses = {
19590
+ /**
19591
+ * Success
19592
+ */
19593
+ 200: ApprenticeshipWorkProcessCategoryResponseObject;
19594
+ };
19595
+ export type GetWorkProcessCategoryResponse = GetWorkProcessCategoryResponses[keyof GetWorkProcessCategoryResponses];
19596
+ export type UpdateWorkProcessCategoryData = {
19597
+ body?: ApprenticeshipWorkProcessCategoryUpdateParameters;
19598
+ path: {
19599
+ occupation_id: string;
19600
+ id: string;
19601
+ };
19602
+ query?: never;
19603
+ url: '/api/v1/apprenticeship/occupations/{occupation_id}/work_process_categories/{id}';
19604
+ };
19605
+ export type UpdateWorkProcessCategoryErrors = {
19606
+ /**
19607
+ * Bad Request
19608
+ */
19609
+ 400: Problem;
19610
+ /**
19611
+ * Forbidden
19612
+ */
19613
+ 403: Problem;
19614
+ /**
19615
+ * Not Found
19616
+ */
19617
+ 404: Problem;
19618
+ /**
19619
+ * Unprocessable Content
19620
+ */
19621
+ 422: Problem;
19622
+ };
19623
+ export type UpdateWorkProcessCategoryError = UpdateWorkProcessCategoryErrors[keyof UpdateWorkProcessCategoryErrors];
19624
+ export type UpdateWorkProcessCategoryResponses = {
19625
+ /**
19626
+ * Success
19627
+ */
19628
+ 200: ApprenticeshipWorkProcessCategoryResponseObject;
19629
+ };
19630
+ export type UpdateWorkProcessCategoryResponse = UpdateWorkProcessCategoryResponses[keyof UpdateWorkProcessCategoryResponses];
19131
19631
  export type ListAttributesData = {
19132
19632
  body?: never;
19133
19633
  path?: never;
@@ -21641,6 +22141,14 @@ export type ListAssetsSitesData = {
21641
22141
  body?: never;
21642
22142
  path?: never;
21643
22143
  query?: {
22144
+ /**
22145
+ * Filter by lifecycle state (defaults to 'active', hiding archived sites):
22146
+ * * `active`
22147
+ * * `archived`
22148
+ * * `all`
22149
+ *
22150
+ */
22151
+ 'filter[state]'?: string;
21644
22152
  'filter[created_at][gte]'?: string;
21645
22153
  'filter[created_at][lte]'?: string;
21646
22154
  'filter[updated_at][gte]'?: string;
@@ -21808,6 +22316,70 @@ export type UpdateSiteResponses = {
21808
22316
  200: AssetsSiteResponseObject;
21809
22317
  };
21810
22318
  export type UpdateSiteResponse = UpdateSiteResponses[keyof UpdateSiteResponses];
22319
+ export type UnarchiveAssetsSiteData = {
22320
+ body?: never;
22321
+ path: {
22322
+ site_id: string;
22323
+ };
22324
+ query?: never;
22325
+ url: '/api/v1/assets/sites/{site_id}/archive';
22326
+ };
22327
+ export type UnarchiveAssetsSiteErrors = {
22328
+ /**
22329
+ * Forbidden
22330
+ */
22331
+ 403: Problem;
22332
+ /**
22333
+ * Not Found
22334
+ */
22335
+ 404: Problem;
22336
+ /**
22337
+ * Unprocessable Content
22338
+ */
22339
+ 422: Problem;
22340
+ };
22341
+ export type UnarchiveAssetsSiteError = UnarchiveAssetsSiteErrors[keyof UnarchiveAssetsSiteErrors];
22342
+ export type UnarchiveAssetsSiteResponses = {
22343
+ /**
22344
+ * Success
22345
+ */
22346
+ 200: AssetsSiteResponseObject;
22347
+ };
22348
+ export type UnarchiveAssetsSiteResponse = UnarchiveAssetsSiteResponses[keyof UnarchiveAssetsSiteResponses];
22349
+ export type ArchiveAssetsSiteData = {
22350
+ body?: AssetsSiteArchiveParametersWritable;
22351
+ path: {
22352
+ site_id: string;
22353
+ };
22354
+ query?: never;
22355
+ url: '/api/v1/assets/sites/{site_id}/archive';
22356
+ };
22357
+ export type ArchiveAssetsSiteErrors = {
22358
+ /**
22359
+ * Bad Request
22360
+ */
22361
+ 400: Problem;
22362
+ /**
22363
+ * Forbidden
22364
+ */
22365
+ 403: Problem;
22366
+ /**
22367
+ * Not Found
22368
+ */
22369
+ 404: Problem;
22370
+ /**
22371
+ * Unprocessable Content
22372
+ */
22373
+ 422: Problem;
22374
+ };
22375
+ export type ArchiveAssetsSiteError = ArchiveAssetsSiteErrors[keyof ArchiveAssetsSiteErrors];
22376
+ export type ArchiveAssetsSiteResponses = {
22377
+ /**
22378
+ * Created
22379
+ */
22380
+ 201: AssetsSiteResponseObject;
22381
+ };
22382
+ export type ArchiveAssetsSiteResponse = ArchiveAssetsSiteResponses[keyof ArchiveAssetsSiteResponses];
21811
22383
  export type ListSubLocationsData = {
21812
22384
  body?: never;
21813
22385
  path?: never;
@@ -23517,6 +24089,165 @@ export type UpdateCompanyProfileResponses = {
23517
24089
  200: CompanyResponseObject;
23518
24090
  };
23519
24091
  export type UpdateCompanyProfileResponse = UpdateCompanyProfileResponses[keyof UpdateCompanyProfileResponses];
24092
+ export type ListCompanyDocumentsData = {
24093
+ body?: never;
24094
+ path?: never;
24095
+ query?: {
24096
+ 'filter[created_at][gte]'?: string;
24097
+ 'filter[created_at][lte]'?: string;
24098
+ 'filter[updated_at][gte]'?: string;
24099
+ 'filter[updated_at][lte]'?: string;
24100
+ filter?: string;
24101
+ 'filter[unexpected]'?: string;
24102
+ /**
24103
+ * This pagination cursor corresponds to the cursor value found in the response in
24104
+ * `meta.page.next_cursor`.
24105
+ */
24106
+ 'page[cursor]'?: string;
24107
+ /**
24108
+ * 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`.
24109
+ */
24110
+ 'page[limit]'?: number;
24111
+ page?: string;
24112
+ };
24113
+ url: '/api/v1/company_documents';
24114
+ };
24115
+ export type ListCompanyDocumentsErrors = {
24116
+ /**
24117
+ * Bad Request
24118
+ */
24119
+ 400: Problem;
24120
+ /**
24121
+ * Forbidden
24122
+ */
24123
+ 403: Problem;
24124
+ /**
24125
+ * Unprocessable Content
24126
+ */
24127
+ 422: Problem;
24128
+ };
24129
+ export type ListCompanyDocumentsError = ListCompanyDocumentsErrors[keyof ListCompanyDocumentsErrors];
24130
+ export type ListCompanyDocumentsResponses = {
24131
+ /**
24132
+ * Success
24133
+ */
24134
+ 200: CompanyDocumentsResponseObject;
24135
+ };
24136
+ export type ListCompanyDocumentsResponse = ListCompanyDocumentsResponses[keyof ListCompanyDocumentsResponses];
24137
+ export type CreateCompanyDocumentData = {
24138
+ body: CompanyDocumentParameters;
24139
+ path?: never;
24140
+ query?: never;
24141
+ url: '/api/v1/company_documents';
24142
+ };
24143
+ export type CreateCompanyDocumentErrors = {
24144
+ /**
24145
+ * Bad Request (missing performed_by_user_id)
24146
+ */
24147
+ 400: Problem;
24148
+ /**
24149
+ * Forbidden
24150
+ */
24151
+ 403: Problem;
24152
+ /**
24153
+ * Unprocessable Content
24154
+ */
24155
+ 422: Problem;
24156
+ };
24157
+ export type CreateCompanyDocumentError = CreateCompanyDocumentErrors[keyof CreateCompanyDocumentErrors];
24158
+ export type CreateCompanyDocumentResponses = {
24159
+ /**
24160
+ * Created
24161
+ */
24162
+ 201: CompanyDocumentResponseObject;
24163
+ };
24164
+ export type CreateCompanyDocumentResponse = CreateCompanyDocumentResponses[keyof CreateCompanyDocumentResponses];
24165
+ export type DeleteCompanyDocumentData = {
24166
+ body?: never;
24167
+ path: {
24168
+ id: string;
24169
+ };
24170
+ query?: never;
24171
+ url: '/api/v1/company_documents/{id}';
24172
+ };
24173
+ export type DeleteCompanyDocumentErrors = {
24174
+ /**
24175
+ * Forbidden
24176
+ */
24177
+ 403: Problem;
24178
+ /**
24179
+ * Not Found
24180
+ */
24181
+ 404: Problem;
24182
+ };
24183
+ export type DeleteCompanyDocumentError = DeleteCompanyDocumentErrors[keyof DeleteCompanyDocumentErrors];
24184
+ export type DeleteCompanyDocumentResponses = {
24185
+ /**
24186
+ * No Content
24187
+ */
24188
+ 204: void;
24189
+ };
24190
+ export type DeleteCompanyDocumentResponse = DeleteCompanyDocumentResponses[keyof DeleteCompanyDocumentResponses];
24191
+ export type GetCompanyDocumentData = {
24192
+ body?: never;
24193
+ path: {
24194
+ id: string;
24195
+ };
24196
+ query?: never;
24197
+ url: '/api/v1/company_documents/{id}';
24198
+ };
24199
+ export type GetCompanyDocumentErrors = {
24200
+ /**
24201
+ * Forbidden
24202
+ */
24203
+ 403: Problem;
24204
+ /**
24205
+ * Not Found
24206
+ */
24207
+ 404: Problem;
24208
+ };
24209
+ export type GetCompanyDocumentError = GetCompanyDocumentErrors[keyof GetCompanyDocumentErrors];
24210
+ export type GetCompanyDocumentResponses = {
24211
+ /**
24212
+ * Success
24213
+ */
24214
+ 200: CompanyDocumentResponseObject;
24215
+ };
24216
+ export type GetCompanyDocumentResponse = GetCompanyDocumentResponses[keyof GetCompanyDocumentResponses];
24217
+ export type UpdateCompanyDocumentData = {
24218
+ body: CompanyDocumentUpdateParameters;
24219
+ path: {
24220
+ id: string;
24221
+ };
24222
+ query?: never;
24223
+ url: '/api/v1/company_documents/{id}';
24224
+ };
24225
+ export type UpdateCompanyDocumentErrors = {
24226
+ /**
24227
+ * Bad Request
24228
+ */
24229
+ 400: Problem;
24230
+ /**
24231
+ * Forbidden
24232
+ */
24233
+ 403: Problem;
24234
+ /**
24235
+ * Not Found
24236
+ */
24237
+ 404: Problem;
24238
+ /**
24239
+ * Unprocessable Content
24240
+ */
24241
+ 422: Problem;
24242
+ };
24243
+ export type UpdateCompanyDocumentError = UpdateCompanyDocumentErrors[keyof UpdateCompanyDocumentErrors];
24244
+ export type UpdateCompanyDocumentResponses = {
24245
+ /**
24246
+ * Success
24247
+ */
24248
+ 200: CompanyDocumentResponseObject;
24249
+ };
24250
+ export type UpdateCompanyDocumentResponse = UpdateCompanyDocumentResponses[keyof UpdateCompanyDocumentResponses];
23520
24251
  export type ListAssessmentsData = {
23521
24252
  body?: never;
23522
24253
  path?: never;
@@ -27215,6 +27946,114 @@ export type GetCaEcprXmlExportResponses = {
27215
27946
  200: JobCaEcprXmlExportResponseObject;
27216
27947
  };
27217
27948
  export type GetCaEcprXmlExportResponse = GetCaEcprXmlExportResponses[keyof GetCaEcprXmlExportResponses];
27949
+ export type ListNyDolXmlExportsData = {
27950
+ body?: never;
27951
+ path: {
27952
+ job_id: string;
27953
+ };
27954
+ query?: {
27955
+ /**
27956
+ * Returns exports whose generation handle has any of these statuses. Comma-separate to match multiple (e.g. `pending,processing`). One of pending, processing, signing, signed, certifying, success, or failed.
27957
+ */
27958
+ 'filter[status]'?: string;
27959
+ filter?: string;
27960
+ 'filter[unexpected]'?: string;
27961
+ /**
27962
+ * This pagination cursor corresponds to the cursor value found in the response in
27963
+ * `meta.page.next_cursor`.
27964
+ */
27965
+ 'page[cursor]'?: string;
27966
+ /**
27967
+ * 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`.
27968
+ */
27969
+ 'page[limit]'?: number;
27970
+ page?: string;
27971
+ };
27972
+ url: '/api/v1/jobs/{job_id}/pwa/certified_payrolls/ny_dol_xml_exports';
27973
+ };
27974
+ export type ListNyDolXmlExportsErrors = {
27975
+ /**
27976
+ * Bad Request
27977
+ */
27978
+ 400: Problem;
27979
+ /**
27980
+ * Forbidden
27981
+ */
27982
+ 403: Problem;
27983
+ /**
27984
+ * Not Found
27985
+ */
27986
+ 404: Problem;
27987
+ };
27988
+ export type ListNyDolXmlExportsError = ListNyDolXmlExportsErrors[keyof ListNyDolXmlExportsErrors];
27989
+ export type ListNyDolXmlExportsResponses = {
27990
+ /**
27991
+ * Success
27992
+ */
27993
+ 200: JobNyDolXmlExportsResponseObject;
27994
+ };
27995
+ export type ListNyDolXmlExportsResponse = ListNyDolXmlExportsResponses[keyof ListNyDolXmlExportsResponses];
27996
+ export type CreateNyDolXmlExportData = {
27997
+ body: JobNyDolXmlExportCreateParameters;
27998
+ path: {
27999
+ job_id: string;
28000
+ };
28001
+ query?: never;
28002
+ url: '/api/v1/jobs/{job_id}/pwa/certified_payrolls/ny_dol_xml_exports';
28003
+ };
28004
+ export type CreateNyDolXmlExportErrors = {
28005
+ /**
28006
+ * Bad Request
28007
+ */
28008
+ 400: Problem;
28009
+ /**
28010
+ * Forbidden
28011
+ */
28012
+ 403: Problem;
28013
+ /**
28014
+ * Not Found
28015
+ */
28016
+ 404: Problem;
28017
+ /**
28018
+ * Unprocessable Content
28019
+ */
28020
+ 422: Problem;
28021
+ };
28022
+ export type CreateNyDolXmlExportError = CreateNyDolXmlExportErrors[keyof CreateNyDolXmlExportErrors];
28023
+ export type CreateNyDolXmlExportResponses = {
28024
+ /**
28025
+ * Created
28026
+ */
28027
+ 201: JobNyDolXmlExportResponseObject;
28028
+ };
28029
+ export type CreateNyDolXmlExportResponse = CreateNyDolXmlExportResponses[keyof CreateNyDolXmlExportResponses];
28030
+ export type GetNyDolXmlExportData = {
28031
+ body?: never;
28032
+ path: {
28033
+ job_id: string;
28034
+ id: string;
28035
+ };
28036
+ query?: never;
28037
+ url: '/api/v1/jobs/{job_id}/pwa/certified_payrolls/ny_dol_xml_exports/{id}';
28038
+ };
28039
+ export type GetNyDolXmlExportErrors = {
28040
+ /**
28041
+ * Forbidden
28042
+ */
28043
+ 403: Problem;
28044
+ /**
28045
+ * Not Found
28046
+ */
28047
+ 404: Problem;
28048
+ };
28049
+ export type GetNyDolXmlExportError = GetNyDolXmlExportErrors[keyof GetNyDolXmlExportErrors];
28050
+ export type GetNyDolXmlExportResponses = {
28051
+ /**
28052
+ * Success
28053
+ */
28054
+ 200: JobNyDolXmlExportResponseObject;
28055
+ };
28056
+ export type GetNyDolXmlExportResponse = GetNyDolXmlExportResponses[keyof GetNyDolXmlExportResponses];
27218
28057
  export type ListWh347ExportsData = {
27219
28058
  body?: never;
27220
28059
  path: {
@@ -29956,6 +30795,165 @@ export type UpdateOvertimeRuleResponses = {
29956
30795
  200: OvertimeRuleResponseObject;
29957
30796
  };
29958
30797
  export type UpdateOvertimeRuleResponse = UpdateOvertimeRuleResponses[keyof UpdateOvertimeRuleResponses];
30798
+ export type ListOvertimePackagesData = {
30799
+ body?: never;
30800
+ path?: never;
30801
+ query?: {
30802
+ filter?: string;
30803
+ 'filter[unexpected]'?: string;
30804
+ /**
30805
+ * This pagination cursor corresponds to the cursor value found in the response in
30806
+ * `meta.page.next_cursor`.
30807
+ */
30808
+ 'page[cursor]'?: string;
30809
+ /**
30810
+ * 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`.
30811
+ */
30812
+ 'page[limit]'?: number;
30813
+ page?: string;
30814
+ };
30815
+ url: '/api/v1/overtime_packages';
30816
+ };
30817
+ export type ListOvertimePackagesErrors = {
30818
+ /**
30819
+ * Bad Request
30820
+ */
30821
+ 400: Problem;
30822
+ /**
30823
+ * Forbidden
30824
+ */
30825
+ 403: Problem;
30826
+ };
30827
+ export type ListOvertimePackagesError = ListOvertimePackagesErrors[keyof ListOvertimePackagesErrors];
30828
+ export type ListOvertimePackagesResponses = {
30829
+ /**
30830
+ * Success
30831
+ */
30832
+ 200: {
30833
+ meta: Meta;
30834
+ links: Links;
30835
+ data: Array<OvertimePackageResponseObject>;
30836
+ };
30837
+ };
30838
+ export type ListOvertimePackagesResponse = ListOvertimePackagesResponses[keyof ListOvertimePackagesResponses];
30839
+ export type CreateOvertimePackageData = {
30840
+ body: OvertimePackageParameters;
30841
+ path?: never;
30842
+ query?: never;
30843
+ url: '/api/v1/overtime_packages';
30844
+ };
30845
+ export type CreateOvertimePackageErrors = {
30846
+ /**
30847
+ * Bad Request
30848
+ */
30849
+ 400: Problem;
30850
+ /**
30851
+ * Forbidden
30852
+ */
30853
+ 403: Problem;
30854
+ /**
30855
+ * Unprocessable Content
30856
+ */
30857
+ 422: Problem;
30858
+ };
30859
+ export type CreateOvertimePackageError = CreateOvertimePackageErrors[keyof CreateOvertimePackageErrors];
30860
+ export type CreateOvertimePackageResponses = {
30861
+ /**
30862
+ * Created
30863
+ */
30864
+ 201: OvertimePackageResponseObject;
30865
+ };
30866
+ export type CreateOvertimePackageResponse = CreateOvertimePackageResponses[keyof CreateOvertimePackageResponses];
30867
+ export type DeleteOvertimePackageData = {
30868
+ body?: never;
30869
+ path: {
30870
+ id: string;
30871
+ };
30872
+ query?: never;
30873
+ url: '/api/v1/overtime_packages/{id}';
30874
+ };
30875
+ export type DeleteOvertimePackageErrors = {
30876
+ /**
30877
+ * Forbidden
30878
+ */
30879
+ 403: Problem;
30880
+ /**
30881
+ * Not Found
30882
+ */
30883
+ 404: Problem;
30884
+ /**
30885
+ * Unprocessable Content
30886
+ */
30887
+ 422: Problem;
30888
+ };
30889
+ export type DeleteOvertimePackageError = DeleteOvertimePackageErrors[keyof DeleteOvertimePackageErrors];
30890
+ export type DeleteOvertimePackageResponses = {
30891
+ /**
30892
+ * No Content
30893
+ */
30894
+ 204: void;
30895
+ };
30896
+ export type DeleteOvertimePackageResponse = DeleteOvertimePackageResponses[keyof DeleteOvertimePackageResponses];
30897
+ export type GetOvertimePackageData = {
30898
+ body?: never;
30899
+ path: {
30900
+ id: string;
30901
+ };
30902
+ query?: never;
30903
+ url: '/api/v1/overtime_packages/{id}';
30904
+ };
30905
+ export type GetOvertimePackageErrors = {
30906
+ /**
30907
+ * Forbidden
30908
+ */
30909
+ 403: Problem;
30910
+ /**
30911
+ * Not Found
30912
+ */
30913
+ 404: Problem;
30914
+ };
30915
+ export type GetOvertimePackageError = GetOvertimePackageErrors[keyof GetOvertimePackageErrors];
30916
+ export type GetOvertimePackageResponses = {
30917
+ /**
30918
+ * Success
30919
+ */
30920
+ 200: OvertimePackageResponseObject;
30921
+ };
30922
+ export type GetOvertimePackageResponse = GetOvertimePackageResponses[keyof GetOvertimePackageResponses];
30923
+ export type UpdateOvertimePackageData = {
30924
+ body?: OvertimePackageUpdateParameters;
30925
+ path: {
30926
+ id: string;
30927
+ };
30928
+ query?: never;
30929
+ url: '/api/v1/overtime_packages/{id}';
30930
+ };
30931
+ export type UpdateOvertimePackageErrors = {
30932
+ /**
30933
+ * Bad Request
30934
+ */
30935
+ 400: Problem;
30936
+ /**
30937
+ * Forbidden
30938
+ */
30939
+ 403: Problem;
30940
+ /**
30941
+ * Not Found
30942
+ */
30943
+ 404: Problem;
30944
+ /**
30945
+ * Unprocessable Content
30946
+ */
30947
+ 422: Problem;
30948
+ };
30949
+ export type UpdateOvertimePackageError = UpdateOvertimePackageErrors[keyof UpdateOvertimePackageErrors];
30950
+ export type UpdateOvertimePackageResponses = {
30951
+ /**
30952
+ * Success
30953
+ */
30954
+ 200: OvertimePackageResponseObject;
30955
+ };
30956
+ export type UpdateOvertimePackageResponse = UpdateOvertimePackageResponses[keyof UpdateOvertimePackageResponses];
29959
30957
  export type ShiftPayRateRuleGenesisData = {
29960
30958
  body: PayRatesRuleGenesisParameters;
29961
30959
  headers: {
@@ -36380,6 +37378,128 @@ export type ListTemplatesResponses = {
36380
37378
  };
36381
37379
  };
36382
37380
  export type ListTemplatesResponse = ListTemplatesResponses[keyof ListTemplatesResponses];
37381
+ export type CreateTemplateData = {
37382
+ body?: JobTemplateParameters;
37383
+ path?: never;
37384
+ query?: never;
37385
+ url: '/api/v1/jobs/templates';
37386
+ };
37387
+ export type CreateTemplateErrors = {
37388
+ /**
37389
+ * Bad Request (missing performed_by_user_id)
37390
+ */
37391
+ 400: Problem;
37392
+ /**
37393
+ * Forbidden
37394
+ */
37395
+ 403: Problem;
37396
+ /**
37397
+ * Not Found
37398
+ */
37399
+ 404: Problem;
37400
+ /**
37401
+ * Unprocessable Content
37402
+ */
37403
+ 422: Problem;
37404
+ };
37405
+ export type CreateTemplateError = CreateTemplateErrors[keyof CreateTemplateErrors];
37406
+ export type CreateTemplateResponses = {
37407
+ /**
37408
+ * Created
37409
+ */
37410
+ 201: JobTemplateResponseObject;
37411
+ };
37412
+ export type CreateTemplateResponse = CreateTemplateResponses[keyof CreateTemplateResponses];
37413
+ export type DeleteTemplateData = {
37414
+ body?: never;
37415
+ path: {
37416
+ id: string;
37417
+ };
37418
+ query?: never;
37419
+ url: '/api/v1/jobs/templates/{id}';
37420
+ };
37421
+ export type DeleteTemplateErrors = {
37422
+ /**
37423
+ * Forbidden
37424
+ */
37425
+ 403: Problem;
37426
+ /**
37427
+ * Not Found
37428
+ */
37429
+ 404: Problem;
37430
+ /**
37431
+ * Unprocessable Content
37432
+ */
37433
+ 422: Problem;
37434
+ };
37435
+ export type DeleteTemplateError = DeleteTemplateErrors[keyof DeleteTemplateErrors];
37436
+ export type DeleteTemplateResponses = {
37437
+ /**
37438
+ * No Content
37439
+ */
37440
+ 204: void;
37441
+ };
37442
+ export type DeleteTemplateResponse = DeleteTemplateResponses[keyof DeleteTemplateResponses];
37443
+ export type GetTemplateData = {
37444
+ body?: never;
37445
+ path: {
37446
+ id: string;
37447
+ };
37448
+ query?: never;
37449
+ url: '/api/v1/jobs/templates/{id}';
37450
+ };
37451
+ export type GetTemplateErrors = {
37452
+ /**
37453
+ * Forbidden
37454
+ */
37455
+ 403: Problem;
37456
+ /**
37457
+ * Not Found
37458
+ */
37459
+ 404: Problem;
37460
+ };
37461
+ export type GetTemplateError = GetTemplateErrors[keyof GetTemplateErrors];
37462
+ export type GetTemplateResponses = {
37463
+ /**
37464
+ * Success
37465
+ */
37466
+ 200: JobTemplateResponseObject;
37467
+ };
37468
+ export type GetTemplateResponse = GetTemplateResponses[keyof GetTemplateResponses];
37469
+ export type UpdateTemplateData = {
37470
+ body?: JobTemplateUpdateParameters;
37471
+ path: {
37472
+ id: string;
37473
+ };
37474
+ query?: never;
37475
+ url: '/api/v1/jobs/templates/{id}';
37476
+ };
37477
+ export type UpdateTemplateErrors = {
37478
+ /**
37479
+ * Bad Request (create-only job_id)
37480
+ */
37481
+ 400: Problem;
37482
+ /**
37483
+ * Forbidden
37484
+ */
37485
+ 403: Problem;
37486
+ /**
37487
+ * Not Found
37488
+ */
37489
+ 404: Problem;
37490
+ /**
37491
+ * Unprocessable Content
37492
+ */
37493
+ 422: Problem;
37494
+ };
37495
+ export type UpdateTemplateError = UpdateTemplateErrors[keyof UpdateTemplateErrors];
37496
+ export type UpdateTemplateResponses = {
37497
+ /**
37498
+ * Success
37499
+ */
37500
+ 200: JobTemplateResponseObject;
37501
+ };
37502
+ export type UpdateTemplateResponse = UpdateTemplateResponses[keyof UpdateTemplateResponses];
36383
37503
  export type ListAdjustableLineItemsData = {
36384
37504
  body?: never;
36385
37505
  path: {
@@ -38837,136 +39957,6 @@ export type DeleteUserRoleResponses = {
38837
39957
  200: UserRoleResponse;
38838
39958
  };
38839
39959
  export type DeleteUserRoleResponse = DeleteUserRoleResponses[keyof DeleteUserRoleResponses];
38840
- export type ListUserCompanyScheduledChangesData = {
38841
- body?: never;
38842
- path: {
38843
- user_id: string;
38844
- company_id: string;
38845
- };
38846
- query?: never;
38847
- url: '/api/v1/users/{user_id}/companies/{company_id}/scheduled_changes';
38848
- };
38849
- export type ListUserCompanyScheduledChangesErrors = {
38850
- /**
38851
- * Forbidden
38852
- */
38853
- 403: Problem;
38854
- /**
38855
- * Not Found
38856
- */
38857
- 404: Problem;
38858
- };
38859
- export type ListUserCompanyScheduledChangesError = ListUserCompanyScheduledChangesErrors[keyof ListUserCompanyScheduledChangesErrors];
38860
- export type ListUserCompanyScheduledChangesResponses = {
38861
- /**
38862
- * Success
38863
- */
38864
- 200: UserCompanyScheduledChangesResponse;
38865
- };
38866
- export type ListUserCompanyScheduledChangesResponse = ListUserCompanyScheduledChangesResponses[keyof ListUserCompanyScheduledChangesResponses];
38867
- export type CreateUserCompanyScheduledChangeData = {
38868
- body: UserCompanyScheduledChangesParameters;
38869
- path: {
38870
- user_id: string;
38871
- company_id: string;
38872
- };
38873
- query?: never;
38874
- url: '/api/v1/users/{user_id}/companies/{company_id}/scheduled_changes';
38875
- };
38876
- export type CreateUserCompanyScheduledChangeErrors = {
38877
- /**
38878
- * Bad Request
38879
- */
38880
- 400: Problem;
38881
- /**
38882
- * Forbidden
38883
- */
38884
- 403: Problem;
38885
- /**
38886
- * Not Found
38887
- */
38888
- 404: Problem;
38889
- /**
38890
- * Unprocessable Content
38891
- */
38892
- 422: Problem;
38893
- };
38894
- export type CreateUserCompanyScheduledChangeError = CreateUserCompanyScheduledChangeErrors[keyof CreateUserCompanyScheduledChangeErrors];
38895
- export type CreateUserCompanyScheduledChangeResponses = {
38896
- /**
38897
- * Success
38898
- */
38899
- 200: UserCompanyScheduledChangesResponse;
38900
- };
38901
- export type CreateUserCompanyScheduledChangeResponse = CreateUserCompanyScheduledChangeResponses[keyof CreateUserCompanyScheduledChangeResponses];
38902
- export type CancelUserCompanyScheduledChangeData = {
38903
- body?: never;
38904
- path: {
38905
- user_id: string;
38906
- company_id: string;
38907
- id: string;
38908
- };
38909
- query?: never;
38910
- url: '/api/v1/users/{user_id}/companies/{company_id}/scheduled_changes/{id}';
38911
- };
38912
- export type CancelUserCompanyScheduledChangeErrors = {
38913
- /**
38914
- * Forbidden
38915
- */
38916
- 403: Problem;
38917
- /**
38918
- * Not Found
38919
- */
38920
- 404: Problem;
38921
- /**
38922
- * Unprocessable Content
38923
- */
38924
- 422: Problem;
38925
- };
38926
- export type CancelUserCompanyScheduledChangeError = CancelUserCompanyScheduledChangeErrors[keyof CancelUserCompanyScheduledChangeErrors];
38927
- export type CancelUserCompanyScheduledChangeResponses = {
38928
- /**
38929
- * Success
38930
- */
38931
- 200: UserCompanyScheduledChangesResponse;
38932
- };
38933
- export type CancelUserCompanyScheduledChangeResponse = CancelUserCompanyScheduledChangeResponses[keyof CancelUserCompanyScheduledChangeResponses];
38934
- export type UpdateScheduledChangeData = {
38935
- body: UserCompanyScheduledChangesParameters;
38936
- path: {
38937
- user_id: string;
38938
- company_id: string;
38939
- id: string;
38940
- };
38941
- query?: never;
38942
- url: '/api/v1/users/{user_id}/companies/{company_id}/scheduled_changes/{id}';
38943
- };
38944
- export type UpdateScheduledChangeErrors = {
38945
- /**
38946
- * Bad Request
38947
- */
38948
- 400: Problem;
38949
- /**
38950
- * Forbidden
38951
- */
38952
- 403: Problem;
38953
- /**
38954
- * Not Found
38955
- */
38956
- 404: Problem;
38957
- /**
38958
- * Unprocessable Content
38959
- */
38960
- 422: Problem;
38961
- };
38962
- export type UpdateScheduledChangeError = UpdateScheduledChangeErrors[keyof UpdateScheduledChangeErrors];
38963
- export type UpdateScheduledChangeResponses = {
38964
- /**
38965
- * Success
38966
- */
38967
- 200: UserCompanyScheduledChangesResponse;
38968
- };
38969
- export type UpdateScheduledChangeResponse = UpdateScheduledChangeResponses[keyof UpdateScheduledChangeResponses];
38970
39960
  export type CreateScheduledTerminationData = {
38971
39961
  body: UserCompanyScheduledTerminationParameters;
38972
39962
  path: {
@@ -39696,6 +40686,10 @@ export type ListWorkTypesData = {
39696
40686
  body?: never;
39697
40687
  path?: never;
39698
40688
  query?: {
40689
+ /**
40690
+ * Fuzzy-search work types by value
40691
+ */
40692
+ 'filter[value]'?: string;
39699
40693
  /**
39700
40694
  * This pagination cursor corresponds to the cursor value found in the response in
39701
40695
  * `meta.page.next_cursor`.
@@ -39706,6 +40700,8 @@ export type ListWorkTypesData = {
39706
40700
  */
39707
40701
  'page[limit]'?: number;
39708
40702
  page?: string;
40703
+ filter?: string;
40704
+ 'filter[unexpected]'?: string;
39709
40705
  };
39710
40706
  url: '/api/v1/work_types';
39711
40707
  };
@@ -39731,3 +40727,121 @@ export type ListWorkTypesResponses = {
39731
40727
  };
39732
40728
  };
39733
40729
  export type ListWorkTypesResponse = ListWorkTypesResponses[keyof ListWorkTypesResponses];
40730
+ export type CreateWorkTypeData = {
40731
+ body?: WorkTypeParameters;
40732
+ path?: never;
40733
+ query?: never;
40734
+ url: '/api/v1/work_types';
40735
+ };
40736
+ export type CreateWorkTypeErrors = {
40737
+ /**
40738
+ * Bad Request
40739
+ */
40740
+ 400: Problem;
40741
+ /**
40742
+ * Forbidden
40743
+ */
40744
+ 403: Problem;
40745
+ /**
40746
+ * Unprocessable Content
40747
+ */
40748
+ 422: Problem;
40749
+ };
40750
+ export type CreateWorkTypeError = CreateWorkTypeErrors[keyof CreateWorkTypeErrors];
40751
+ export type CreateWorkTypeResponses = {
40752
+ /**
40753
+ * Created
40754
+ */
40755
+ 201: WorkTypeResponseObject;
40756
+ };
40757
+ export type CreateWorkTypeResponse = CreateWorkTypeResponses[keyof CreateWorkTypeResponses];
40758
+ export type DeleteWorkTypeData = {
40759
+ body?: never;
40760
+ path: {
40761
+ id: string;
40762
+ };
40763
+ query?: never;
40764
+ url: '/api/v1/work_types/{id}';
40765
+ };
40766
+ export type DeleteWorkTypeErrors = {
40767
+ /**
40768
+ * Forbidden
40769
+ */
40770
+ 403: Problem;
40771
+ /**
40772
+ * Not Found
40773
+ */
40774
+ 404: Problem;
40775
+ /**
40776
+ * Unprocessable Content
40777
+ */
40778
+ 422: Problem;
40779
+ };
40780
+ export type DeleteWorkTypeError = DeleteWorkTypeErrors[keyof DeleteWorkTypeErrors];
40781
+ export type DeleteWorkTypeResponses = {
40782
+ /**
40783
+ * No Content
40784
+ */
40785
+ 204: void;
40786
+ };
40787
+ export type DeleteWorkTypeResponse = DeleteWorkTypeResponses[keyof DeleteWorkTypeResponses];
40788
+ export type GetWorkTypeData = {
40789
+ body?: never;
40790
+ path: {
40791
+ id: string;
40792
+ };
40793
+ query?: never;
40794
+ url: '/api/v1/work_types/{id}';
40795
+ };
40796
+ export type GetWorkTypeErrors = {
40797
+ /**
40798
+ * Forbidden
40799
+ */
40800
+ 403: Problem;
40801
+ /**
40802
+ * Not Found
40803
+ */
40804
+ 404: Problem;
40805
+ };
40806
+ export type GetWorkTypeError = GetWorkTypeErrors[keyof GetWorkTypeErrors];
40807
+ export type GetWorkTypeResponses = {
40808
+ /**
40809
+ * Success
40810
+ */
40811
+ 200: WorkTypeResponseObject;
40812
+ };
40813
+ export type GetWorkTypeResponse = GetWorkTypeResponses[keyof GetWorkTypeResponses];
40814
+ export type UpdateWorkTypeData = {
40815
+ body?: WorkTypeUpdateParameters;
40816
+ path: {
40817
+ id: string;
40818
+ };
40819
+ query?: never;
40820
+ url: '/api/v1/work_types/{id}';
40821
+ };
40822
+ export type UpdateWorkTypeErrors = {
40823
+ /**
40824
+ * Bad Request
40825
+ */
40826
+ 400: Problem;
40827
+ /**
40828
+ * Forbidden
40829
+ */
40830
+ 403: Problem;
40831
+ /**
40832
+ * Not Found
40833
+ */
40834
+ 404: Problem;
40835
+ /**
40836
+ * Unprocessable Content
40837
+ */
40838
+ 422: Problem;
40839
+ };
40840
+ export type UpdateWorkTypeError = UpdateWorkTypeErrors[keyof UpdateWorkTypeErrors];
40841
+ export type UpdateWorkTypeResponses = {
40842
+ /**
40843
+ * Success
40844
+ */
40845
+ 200: WorkTypeResponseObject;
40846
+ };
40847
+ export type UpdateWorkTypeResponse = UpdateWorkTypeResponses[keyof UpdateWorkTypeResponses];