@conflict-hq/ezacto-client 0.1.0 → 0.1.2
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/dist/generated.d.ts +832 -5
- package/dist/generated.js +374 -1
- package/package.json +1 -1
- package/src/generated.ts +1102 -15
package/src/generated.ts
CHANGED
|
@@ -304,6 +304,92 @@ export type QuickBooksAuthorizeEnvelope = {
|
|
|
304
304
|
};
|
|
305
305
|
};
|
|
306
306
|
|
|
307
|
+
export type WiseConnection = {
|
|
308
|
+
"profile_id": string;
|
|
309
|
+
"profile_name": string | null;
|
|
310
|
+
"payable_recipients": number;
|
|
311
|
+
"webhooks_verifiable": boolean;
|
|
312
|
+
};
|
|
313
|
+
|
|
314
|
+
export type WiseRecipient = {
|
|
315
|
+
"id": string;
|
|
316
|
+
"holder_name": string | null;
|
|
317
|
+
"currency": string;
|
|
318
|
+
"type": string;
|
|
319
|
+
"masked_summary": string | null;
|
|
320
|
+
"email": string | null;
|
|
321
|
+
};
|
|
322
|
+
|
|
323
|
+
export type WiseStatusEnvelope = {
|
|
324
|
+
"data": {
|
|
325
|
+
"configured": boolean;
|
|
326
|
+
"connection": WiseConnection | null;
|
|
327
|
+
};
|
|
328
|
+
};
|
|
329
|
+
|
|
330
|
+
export type WiseRecipientListEnvelope = {
|
|
331
|
+
"data": Array<WiseRecipient>;
|
|
332
|
+
};
|
|
333
|
+
|
|
334
|
+
export type WiseOnboardInput = {
|
|
335
|
+
"user_id": number;
|
|
336
|
+
"email": string;
|
|
337
|
+
"legal_name": string;
|
|
338
|
+
"currency": string;
|
|
339
|
+
};
|
|
340
|
+
|
|
341
|
+
export type WiseDestinationEnvelope = {
|
|
342
|
+
"data": {
|
|
343
|
+
"configured": boolean;
|
|
344
|
+
"destination": {
|
|
345
|
+
"id": number;
|
|
346
|
+
"kind": "account" | "contact";
|
|
347
|
+
"linked_at": string;
|
|
348
|
+
"linked_by_user_id": number;
|
|
349
|
+
"verified_at": string | null;
|
|
350
|
+
} | null;
|
|
351
|
+
};
|
|
352
|
+
};
|
|
353
|
+
|
|
354
|
+
export type WiseProposal = {
|
|
355
|
+
"user_id": number;
|
|
356
|
+
"name": string;
|
|
357
|
+
"payroll_email": string | null;
|
|
358
|
+
"matches": Array<WiseRecipient>;
|
|
359
|
+
};
|
|
360
|
+
|
|
361
|
+
export type WiseProposalListEnvelope = {
|
|
362
|
+
"data": Array<WiseProposal>;
|
|
363
|
+
};
|
|
364
|
+
|
|
365
|
+
export type WiseContactInput = {
|
|
366
|
+
"user_id": number;
|
|
367
|
+
"identifier": string;
|
|
368
|
+
"currency": string;
|
|
369
|
+
};
|
|
370
|
+
|
|
371
|
+
export type WiseContactEnvelope = {
|
|
372
|
+
"data": {
|
|
373
|
+
"user_id": number;
|
|
374
|
+
"contact": {
|
|
375
|
+
"id": string;
|
|
376
|
+
"name": string | null;
|
|
377
|
+
};
|
|
378
|
+
};
|
|
379
|
+
};
|
|
380
|
+
|
|
381
|
+
export type WiseLinkInput = {
|
|
382
|
+
"user_id": number;
|
|
383
|
+
"recipient_id": string;
|
|
384
|
+
};
|
|
385
|
+
|
|
386
|
+
export type WiseLinkEnvelope = {
|
|
387
|
+
"data": {
|
|
388
|
+
"user_id": number;
|
|
389
|
+
"recipient": WiseRecipient;
|
|
390
|
+
};
|
|
391
|
+
};
|
|
392
|
+
|
|
307
393
|
export type QuickBooksConnectionEnvelope = {
|
|
308
394
|
"data": QuickBooksConnection | null;
|
|
309
395
|
};
|
|
@@ -689,6 +775,11 @@ export type TeamRateInput = {
|
|
|
689
775
|
"start_date": string | null;
|
|
690
776
|
};
|
|
691
777
|
|
|
778
|
+
export type TeamRateRemovalInput = {
|
|
779
|
+
"expected_version": number;
|
|
780
|
+
"kind": "billable" | "cost";
|
|
781
|
+
};
|
|
782
|
+
|
|
692
783
|
export type TeamCommandReceipt = {
|
|
693
784
|
"target_user_id": number;
|
|
694
785
|
"version": number;
|
|
@@ -847,6 +938,20 @@ export type TimeEntryNoteSettingsEnvelope = {
|
|
|
847
938
|
"links": Links;
|
|
848
939
|
};
|
|
849
940
|
|
|
941
|
+
export type Profile = {
|
|
942
|
+
"user_id": number;
|
|
943
|
+
"timezone": string;
|
|
944
|
+
};
|
|
945
|
+
|
|
946
|
+
export type ProfilePatch = {
|
|
947
|
+
"timezone"?: string;
|
|
948
|
+
};
|
|
949
|
+
|
|
950
|
+
export type ProfileEnvelope = {
|
|
951
|
+
"data": Profile;
|
|
952
|
+
"links": Links;
|
|
953
|
+
};
|
|
954
|
+
|
|
850
955
|
export type TimeEntryOption = {
|
|
851
956
|
"project_id": number;
|
|
852
957
|
"task_id": number;
|
|
@@ -1708,6 +1813,12 @@ export type RecurringInvoice = {
|
|
|
1708
1813
|
"next_issue_on": string;
|
|
1709
1814
|
"amount_config": RecurringAmountConfig;
|
|
1710
1815
|
"can_draw_from_retainer_id": number | null;
|
|
1816
|
+
"claims_project_ids": Array<number> | null;
|
|
1817
|
+
"claim_mode": "all" | "ceiling";
|
|
1818
|
+
"claim_ceiling_seconds": number | null;
|
|
1819
|
+
"claim_ceiling_cents": number | null;
|
|
1820
|
+
"claim_scope": "billable" | "tracked";
|
|
1821
|
+
"cost_alert_basis_points": number | null;
|
|
1711
1822
|
"created_at": string;
|
|
1712
1823
|
"updated_at": string;
|
|
1713
1824
|
};
|
|
@@ -1738,6 +1849,37 @@ export type RecurringInvoicePage = {
|
|
|
1738
1849
|
"page": PageMetadata;
|
|
1739
1850
|
};
|
|
1740
1851
|
|
|
1852
|
+
export type BandClaimBackfillInput = {
|
|
1853
|
+
"invoice_ids": Array<number>;
|
|
1854
|
+
"project_ids"?: Array<number>;
|
|
1855
|
+
"apply"?: boolean;
|
|
1856
|
+
};
|
|
1857
|
+
|
|
1858
|
+
export type BandClaimBackfillLine = {
|
|
1859
|
+
"invoice_id": number;
|
|
1860
|
+
"number": string;
|
|
1861
|
+
"issue_date": string;
|
|
1862
|
+
"state": string;
|
|
1863
|
+
"amount_cents": number;
|
|
1864
|
+
"entry_count": number;
|
|
1865
|
+
"seconds": number;
|
|
1866
|
+
"billable_value_cents": number;
|
|
1867
|
+
"entries_without_billable_rate": number;
|
|
1868
|
+
"foregone_billable_cents": number;
|
|
1869
|
+
};
|
|
1870
|
+
|
|
1871
|
+
export type BandClaimBackfill = {
|
|
1872
|
+
"run_id": string;
|
|
1873
|
+
"applied": boolean;
|
|
1874
|
+
"invoices": Array<BandClaimBackfillLine>;
|
|
1875
|
+
"remaining_entry_count": number;
|
|
1876
|
+
"remaining_seconds": number;
|
|
1877
|
+
};
|
|
1878
|
+
|
|
1879
|
+
export type BandClaimBackfillEnvelope = {
|
|
1880
|
+
"data": BandClaimBackfill;
|
|
1881
|
+
};
|
|
1882
|
+
|
|
1741
1883
|
export type RecurringInvoiceInput = {
|
|
1742
1884
|
"client_id": number;
|
|
1743
1885
|
"subject_template": string;
|
|
@@ -1747,6 +1889,12 @@ export type RecurringInvoiceInput = {
|
|
|
1747
1889
|
"next_issue_on": string;
|
|
1748
1890
|
"amount_config": RecurringAmountConfig;
|
|
1749
1891
|
"can_draw_from_retainer_id"?: number | null;
|
|
1892
|
+
"claims_project_ids"?: Array<number> | null;
|
|
1893
|
+
"claim_mode"?: "all" | "ceiling";
|
|
1894
|
+
"claim_ceiling_seconds"?: number | null;
|
|
1895
|
+
"claim_ceiling_cents"?: number | null;
|
|
1896
|
+
"claim_scope"?: "billable" | "tracked";
|
|
1897
|
+
"cost_alert_basis_points"?: number | null;
|
|
1750
1898
|
};
|
|
1751
1899
|
|
|
1752
1900
|
export type MyHoursProject = {
|
|
@@ -1798,8 +1946,11 @@ export type DetailedTimeRow = {
|
|
|
1798
1946
|
"time_entry_count": number;
|
|
1799
1947
|
"billable_amount_cents"?: number | null;
|
|
1800
1948
|
"entries_without_billable_rate": number;
|
|
1949
|
+
"claimed": boolean;
|
|
1801
1950
|
"time_entry_id"?: number;
|
|
1951
|
+
"invoice_id"?: number | null;
|
|
1802
1952
|
"notes"?: string | null;
|
|
1953
|
+
"project_active"?: boolean;
|
|
1803
1954
|
};
|
|
1804
1955
|
|
|
1805
1956
|
export type DetailedTimeCurrencyTotal = {
|
|
@@ -1813,13 +1964,20 @@ export type DetailedTimeReport = {
|
|
|
1813
1964
|
"to": string;
|
|
1814
1965
|
"client_id": number | null;
|
|
1815
1966
|
"project_id": number | null;
|
|
1816
|
-
"
|
|
1967
|
+
"task_id": number | null;
|
|
1968
|
+
"user_id": number | null;
|
|
1969
|
+
"role_id": number | null;
|
|
1970
|
+
"tag_id": number | null;
|
|
1971
|
+
"invoice_state": "all" | "invoiced" | "uninvoiced";
|
|
1972
|
+
"hours": "all" | "billable" | "non_billable" | "uninvoiced" | "claimed" | "unclaimed";
|
|
1817
1973
|
"grain": "day" | "entry";
|
|
1818
1974
|
"active_projects_only": boolean;
|
|
1819
1975
|
"seconds": number;
|
|
1820
1976
|
"rounded_seconds": number;
|
|
1821
1977
|
"billable_seconds": number;
|
|
1822
1978
|
"uninvoiced_billable_seconds": number;
|
|
1979
|
+
"claimed_seconds": number;
|
|
1980
|
+
"unclaimed_seconds": number;
|
|
1823
1981
|
"time_entry_count": number;
|
|
1824
1982
|
"currencies": Array<DetailedTimeCurrencyTotal>;
|
|
1825
1983
|
"rows": Array<DetailedTimeRow>;
|
|
@@ -1830,6 +1988,30 @@ export type DetailedTimeReportEnvelope = {
|
|
|
1830
1988
|
"links": Links;
|
|
1831
1989
|
};
|
|
1832
1990
|
|
|
1991
|
+
export type ReportTimeActionInput = {
|
|
1992
|
+
"command_id": string;
|
|
1993
|
+
"action": "mark_invoiced" | "mark_uninvoiced" | "move";
|
|
1994
|
+
"entry_ids": Array<number>;
|
|
1995
|
+
"confirmed": true;
|
|
1996
|
+
"invoice_id"?: number;
|
|
1997
|
+
"project_id"?: number;
|
|
1998
|
+
"task_id"?: number;
|
|
1999
|
+
};
|
|
2000
|
+
|
|
2001
|
+
export type ReportTimeAction = {
|
|
2002
|
+
"command_id": string;
|
|
2003
|
+
"action": "mark_invoiced" | "mark_uninvoiced" | "move";
|
|
2004
|
+
"requested": number;
|
|
2005
|
+
"changed_entry_ids": Array<number>;
|
|
2006
|
+
"ineligible_entry_ids": Array<number>;
|
|
2007
|
+
"replayed": boolean;
|
|
2008
|
+
};
|
|
2009
|
+
|
|
2010
|
+
export type ReportTimeActionEnvelope = {
|
|
2011
|
+
"data": ReportTimeAction;
|
|
2012
|
+
"links": Links;
|
|
2013
|
+
};
|
|
2014
|
+
|
|
1833
2015
|
export type TimeReportAmount = {
|
|
1834
2016
|
"currency": string;
|
|
1835
2017
|
"billable_cents": number;
|
|
@@ -1898,6 +2080,7 @@ export type TimeReportTeammateRow = {
|
|
|
1898
2080
|
export type TimeReport = {
|
|
1899
2081
|
"from": string;
|
|
1900
2082
|
"to": string;
|
|
2083
|
+
"fixed_fee_included": boolean;
|
|
1901
2084
|
"totals": TimeReportTotals;
|
|
1902
2085
|
"clients": Array<TimeReportClientRow>;
|
|
1903
2086
|
"projects": Array<TimeReportProjectRow>;
|
|
@@ -1951,7 +2134,11 @@ export type ContractorCostRow = {
|
|
|
1951
2134
|
"is_contractor": boolean;
|
|
1952
2135
|
"currency": string;
|
|
1953
2136
|
"rounded_seconds": number;
|
|
2137
|
+
"utilization_ppm": number | null;
|
|
1954
2138
|
"cost_cents": number | null;
|
|
2139
|
+
"cost_rate_cents": number | null;
|
|
2140
|
+
"cost_rate_is_mixed": boolean;
|
|
2141
|
+
"entry_count": number;
|
|
1955
2142
|
"entries_without_rate": number;
|
|
1956
2143
|
};
|
|
1957
2144
|
|
|
@@ -1966,6 +2153,213 @@ export type ContractorCostReportEnvelope = {
|
|
|
1966
2153
|
"links": Links;
|
|
1967
2154
|
};
|
|
1968
2155
|
|
|
2156
|
+
export type InvoicedReportTotal = {
|
|
2157
|
+
"currency": string;
|
|
2158
|
+
"invoice_count": number;
|
|
2159
|
+
"invoiced_cents"?: number;
|
|
2160
|
+
"paid_cents"?: number;
|
|
2161
|
+
"balance_cents"?: number;
|
|
2162
|
+
};
|
|
2163
|
+
|
|
2164
|
+
export type InvoicedReportRow = {
|
|
2165
|
+
"invoice_id": number;
|
|
2166
|
+
"number": string;
|
|
2167
|
+
"state": "draft" | "open" | "paid" | "closed";
|
|
2168
|
+
"close_reason": "cancelled" | "written_off" | "source_closed" | null;
|
|
2169
|
+
"issue_date": string;
|
|
2170
|
+
"due_date": string;
|
|
2171
|
+
"client_id": number;
|
|
2172
|
+
"client_name": string;
|
|
2173
|
+
"subject": string | null;
|
|
2174
|
+
"currency": string;
|
|
2175
|
+
"invoiced_cents"?: number;
|
|
2176
|
+
"paid_cents"?: number;
|
|
2177
|
+
"balance_cents"?: number;
|
|
2178
|
+
};
|
|
2179
|
+
|
|
2180
|
+
export type InvoicedReport = {
|
|
2181
|
+
"from": string;
|
|
2182
|
+
"to": string;
|
|
2183
|
+
"client_id": number | null;
|
|
2184
|
+
"status": "draft" | "open" | "paid" | "closed" | null;
|
|
2185
|
+
"totals": Array<InvoicedReportTotal>;
|
|
2186
|
+
"rows": Array<InvoicedReportRow>;
|
|
2187
|
+
};
|
|
2188
|
+
|
|
2189
|
+
export type InvoicedReportEnvelope = {
|
|
2190
|
+
"data": InvoicedReport;
|
|
2191
|
+
"links": Links;
|
|
2192
|
+
};
|
|
2193
|
+
|
|
2194
|
+
export type PaymentsReceivedReportTotal = {
|
|
2195
|
+
"currency": string;
|
|
2196
|
+
"payment_count": number;
|
|
2197
|
+
"payment_cents"?: number;
|
|
2198
|
+
};
|
|
2199
|
+
|
|
2200
|
+
export type PaymentReceivedReportRow = {
|
|
2201
|
+
"payment_id": number;
|
|
2202
|
+
"payment_date": string;
|
|
2203
|
+
"invoice_id": number;
|
|
2204
|
+
"invoice_number": string;
|
|
2205
|
+
"client_id": number;
|
|
2206
|
+
"client_name": string;
|
|
2207
|
+
"currency": string;
|
|
2208
|
+
"provider": string;
|
|
2209
|
+
"invoice_total_cents"?: number;
|
|
2210
|
+
"payment_cents"?: number;
|
|
2211
|
+
};
|
|
2212
|
+
|
|
2213
|
+
export type PaymentsReceivedReport = {
|
|
2214
|
+
"from": string;
|
|
2215
|
+
"to": string;
|
|
2216
|
+
"client_id": number | null;
|
|
2217
|
+
"totals": Array<PaymentsReceivedReportTotal>;
|
|
2218
|
+
"rows": Array<PaymentReceivedReportRow>;
|
|
2219
|
+
};
|
|
2220
|
+
|
|
2221
|
+
export type PaymentsReceivedReportEnvelope = {
|
|
2222
|
+
"data": PaymentsReceivedReport;
|
|
2223
|
+
"links": Links;
|
|
2224
|
+
};
|
|
2225
|
+
|
|
2226
|
+
export type ReceivablesReportTotal = {
|
|
2227
|
+
"currency": string;
|
|
2228
|
+
"invoice_count": number;
|
|
2229
|
+
"invoiced_cents"?: number;
|
|
2230
|
+
"outstanding_cents"?: number;
|
|
2231
|
+
"not_due_cents"?: number;
|
|
2232
|
+
"days_1_to_30_cents"?: number;
|
|
2233
|
+
"days_31_to_60_cents"?: number;
|
|
2234
|
+
"days_61_to_90_cents"?: number;
|
|
2235
|
+
"days_90_plus_cents"?: number;
|
|
2236
|
+
};
|
|
2237
|
+
|
|
2238
|
+
export type ReceivablesReportRow = {
|
|
2239
|
+
"client_id": number;
|
|
2240
|
+
"client_name": string;
|
|
2241
|
+
"currency": string;
|
|
2242
|
+
"invoice_count": number;
|
|
2243
|
+
"invoiced_cents"?: number;
|
|
2244
|
+
"outstanding_cents"?: number;
|
|
2245
|
+
"not_due_cents"?: number;
|
|
2246
|
+
"days_1_to_30_cents"?: number;
|
|
2247
|
+
"days_31_to_60_cents"?: number;
|
|
2248
|
+
"days_61_to_90_cents"?: number;
|
|
2249
|
+
"days_90_plus_cents"?: number;
|
|
2250
|
+
};
|
|
2251
|
+
|
|
2252
|
+
export type ReceivablesReport = {
|
|
2253
|
+
"as_of": string;
|
|
2254
|
+
"client_id": number | null;
|
|
2255
|
+
"totals": Array<ReceivablesReportTotal>;
|
|
2256
|
+
"rows": Array<ReceivablesReportRow>;
|
|
2257
|
+
};
|
|
2258
|
+
|
|
2259
|
+
export type ReceivablesReportEnvelope = {
|
|
2260
|
+
"data": ReceivablesReport;
|
|
2261
|
+
"links": Links;
|
|
2262
|
+
};
|
|
2263
|
+
|
|
2264
|
+
export type ReportDefinitionPresentation = {
|
|
2265
|
+
"result": "summary" | "detailed";
|
|
2266
|
+
"grouped": boolean;
|
|
2267
|
+
"include_zero_values": boolean;
|
|
2268
|
+
};
|
|
2269
|
+
|
|
2270
|
+
export type SavedReportInput = {
|
|
2271
|
+
"name": string;
|
|
2272
|
+
"fields": Array<{
|
|
2273
|
+
[key: string]: unknown;
|
|
2274
|
+
}>;
|
|
2275
|
+
"metrics": Array<string>;
|
|
2276
|
+
"filters": Array<{
|
|
2277
|
+
[key: string]: unknown;
|
|
2278
|
+
}>;
|
|
2279
|
+
"group_by": {
|
|
2280
|
+
[key: string]: unknown;
|
|
2281
|
+
} | null;
|
|
2282
|
+
"presentation": ReportDefinitionPresentation;
|
|
2283
|
+
};
|
|
2284
|
+
|
|
2285
|
+
export type SavedReportUpdate = {
|
|
2286
|
+
"version": number;
|
|
2287
|
+
"name"?: string;
|
|
2288
|
+
"fields"?: Array<{
|
|
2289
|
+
[key: string]: unknown;
|
|
2290
|
+
}>;
|
|
2291
|
+
"metrics"?: Array<string>;
|
|
2292
|
+
"filters"?: Array<{
|
|
2293
|
+
[key: string]: unknown;
|
|
2294
|
+
}>;
|
|
2295
|
+
"group_by"?: {
|
|
2296
|
+
[key: string]: unknown;
|
|
2297
|
+
} | null;
|
|
2298
|
+
"presentation"?: ReportDefinitionPresentation;
|
|
2299
|
+
};
|
|
2300
|
+
|
|
2301
|
+
export type SavedReport = {
|
|
2302
|
+
"id": string;
|
|
2303
|
+
"name": string;
|
|
2304
|
+
"version": number;
|
|
2305
|
+
"fields": Array<{
|
|
2306
|
+
[key: string]: unknown;
|
|
2307
|
+
}>;
|
|
2308
|
+
"metrics": Array<string>;
|
|
2309
|
+
"filters": Array<{
|
|
2310
|
+
[key: string]: unknown;
|
|
2311
|
+
}>;
|
|
2312
|
+
"group_by": {
|
|
2313
|
+
[key: string]: unknown;
|
|
2314
|
+
} | null;
|
|
2315
|
+
"presentation": ReportDefinitionPresentation;
|
|
2316
|
+
"owner": {
|
|
2317
|
+
[key: string]: unknown;
|
|
2318
|
+
};
|
|
2319
|
+
"is_custom": boolean;
|
|
2320
|
+
"pinned": boolean;
|
|
2321
|
+
"shared": boolean;
|
|
2322
|
+
"created_at": string;
|
|
2323
|
+
"updated_at": string;
|
|
2324
|
+
};
|
|
2325
|
+
|
|
2326
|
+
export type SavedReportEnvelope = {
|
|
2327
|
+
"data": SavedReport;
|
|
2328
|
+
"links": Links;
|
|
2329
|
+
};
|
|
2330
|
+
|
|
2331
|
+
export type SavedReportListEnvelope = {
|
|
2332
|
+
"data": Array<SavedReport>;
|
|
2333
|
+
};
|
|
2334
|
+
|
|
2335
|
+
export type ReportRunnerResult = {
|
|
2336
|
+
"definitionId": string;
|
|
2337
|
+
"definitionVersion": number;
|
|
2338
|
+
"state": "ready" | "empty" | "too_many_rows";
|
|
2339
|
+
"rows": Array<{
|
|
2340
|
+
[key: string]: unknown;
|
|
2341
|
+
}>;
|
|
2342
|
+
};
|
|
2343
|
+
|
|
2344
|
+
export type ReportRunnerEnvelope = {
|
|
2345
|
+
"data": ReportRunnerResult;
|
|
2346
|
+
"links": Links;
|
|
2347
|
+
};
|
|
2348
|
+
|
|
2349
|
+
export type ReportDefinitionRegistry = {
|
|
2350
|
+
"fields": Array<{
|
|
2351
|
+
[key: string]: unknown;
|
|
2352
|
+
}>;
|
|
2353
|
+
"metrics": Array<{
|
|
2354
|
+
[key: string]: unknown;
|
|
2355
|
+
}>;
|
|
2356
|
+
};
|
|
2357
|
+
|
|
2358
|
+
export type ReportDefinitionRegistryEnvelope = {
|
|
2359
|
+
"data": ReportDefinitionRegistry;
|
|
2360
|
+
"links": Links;
|
|
2361
|
+
};
|
|
2362
|
+
|
|
1969
2363
|
export type DetailedExpenseRow = {
|
|
1970
2364
|
"expense_id": number;
|
|
1971
2365
|
"spent_date": string;
|
|
@@ -1998,7 +2392,12 @@ export type DetailedExpenseReport = {
|
|
|
1998
2392
|
"to": string;
|
|
1999
2393
|
"client_id": number | null;
|
|
2000
2394
|
"project_id": number | null;
|
|
2001
|
-
"
|
|
2395
|
+
"category_id": number | null;
|
|
2396
|
+
"user_id": number | null;
|
|
2397
|
+
"billable": boolean | null;
|
|
2398
|
+
"reimbursable": boolean | null;
|
|
2399
|
+
"invoice_state": "all" | "invoiced" | "uninvoiced";
|
|
2400
|
+
"active_projects_only": boolean;
|
|
2002
2401
|
"totals": Array<DetailedExpenseTotal>;
|
|
2003
2402
|
"rows": Array<DetailedExpenseRow>;
|
|
2004
2403
|
};
|
|
@@ -2008,6 +2407,80 @@ export type DetailedExpenseReportEnvelope = {
|
|
|
2008
2407
|
"links": Links;
|
|
2009
2408
|
};
|
|
2010
2409
|
|
|
2410
|
+
export type MonthEndItem = {
|
|
2411
|
+
"subject_type": string;
|
|
2412
|
+
"subject_id": number;
|
|
2413
|
+
"description": string;
|
|
2414
|
+
"amount_cents": number | null;
|
|
2415
|
+
"currency": string | null;
|
|
2416
|
+
"target": string | null;
|
|
2417
|
+
"brand_name": string | null;
|
|
2418
|
+
"cost_cents": number | null;
|
|
2419
|
+
"margin_cents": number | null;
|
|
2420
|
+
};
|
|
2421
|
+
|
|
2422
|
+
export type MonthEndExclusion = {
|
|
2423
|
+
"invoice_id": number;
|
|
2424
|
+
"number": string;
|
|
2425
|
+
"reason": string;
|
|
2426
|
+
};
|
|
2427
|
+
|
|
2428
|
+
export type MonthEndManifest = {
|
|
2429
|
+
"period_start": string;
|
|
2430
|
+
"period_end": string;
|
|
2431
|
+
"items": Array<MonthEndItem>;
|
|
2432
|
+
"excluded": Array<MonthEndExclusion>;
|
|
2433
|
+
};
|
|
2434
|
+
|
|
2435
|
+
export type MonthEndManifestEnvelope = {
|
|
2436
|
+
"data": MonthEndManifest;
|
|
2437
|
+
"links": Links;
|
|
2438
|
+
};
|
|
2439
|
+
|
|
2440
|
+
export type BandedMonthRow = {
|
|
2441
|
+
"period_start": string;
|
|
2442
|
+
"period_end": string;
|
|
2443
|
+
"project_id": number;
|
|
2444
|
+
"project_name": string;
|
|
2445
|
+
"client_id": number;
|
|
2446
|
+
"client_name": string;
|
|
2447
|
+
"currency": string;
|
|
2448
|
+
"rounded_seconds": number;
|
|
2449
|
+
"billable_value_cents": number | null;
|
|
2450
|
+
"cost_value_cents": number | null;
|
|
2451
|
+
"entries_without_billable_rate": number;
|
|
2452
|
+
"entries_without_cost_rate": number;
|
|
2453
|
+
"claimed_in_other_currency": number;
|
|
2454
|
+
"billed_cents": number | null;
|
|
2455
|
+
"foregone_cents": number | null;
|
|
2456
|
+
"cost_ratio_basis_points": number | null;
|
|
2457
|
+
"cost_alert_basis_points": number;
|
|
2458
|
+
"cost_ratio_state": "within" | "over" | "unpriced" | "unbilled";
|
|
2459
|
+
};
|
|
2460
|
+
|
|
2461
|
+
export type BandedMonthReport = {
|
|
2462
|
+
"from": string;
|
|
2463
|
+
"to": string;
|
|
2464
|
+
"rows": Array<BandedMonthRow>;
|
|
2465
|
+
};
|
|
2466
|
+
|
|
2467
|
+
export type BandedMonthReportEnvelope = {
|
|
2468
|
+
"data": BandedMonthReport;
|
|
2469
|
+
"links": Links;
|
|
2470
|
+
};
|
|
2471
|
+
|
|
2472
|
+
export type BandCostAlert = {
|
|
2473
|
+
"basis_points": number;
|
|
2474
|
+
};
|
|
2475
|
+
|
|
2476
|
+
export type BandCostAlertEnvelope = {
|
|
2477
|
+
"data": BandCostAlert;
|
|
2478
|
+
};
|
|
2479
|
+
|
|
2480
|
+
export type BandCostAlertInput = {
|
|
2481
|
+
"basis_points": number;
|
|
2482
|
+
};
|
|
2483
|
+
|
|
2011
2484
|
export type ProfitabilityRow = {
|
|
2012
2485
|
"project_id": number;
|
|
2013
2486
|
"project_name": string;
|
|
@@ -2019,6 +2492,9 @@ export type ProfitabilityRow = {
|
|
|
2019
2492
|
"revenue_cents": number | null;
|
|
2020
2493
|
"cost_cents": number | null;
|
|
2021
2494
|
"profit_cents": number | null;
|
|
2495
|
+
"return_on_cost_ppm": number | null;
|
|
2496
|
+
"revenue_fee_cents": number;
|
|
2497
|
+
"fees_included_in_delivery_cost_cents": number;
|
|
2022
2498
|
"entries_without_billable_rate": number;
|
|
2023
2499
|
"entries_without_cost_rate": number;
|
|
2024
2500
|
};
|
|
@@ -2028,17 +2504,54 @@ export type ProfitabilityTotals = {
|
|
|
2028
2504
|
"revenue_cents": number | null;
|
|
2029
2505
|
"cost_cents": number | null;
|
|
2030
2506
|
"profit_cents": number | null;
|
|
2507
|
+
"return_on_cost_ppm": number | null;
|
|
2508
|
+
"revenue_fee_cents": number;
|
|
2509
|
+
"fees_included_in_delivery_cost_cents": number;
|
|
2031
2510
|
"entries_without_billable_rate": number;
|
|
2032
2511
|
"entries_without_cost_rate": number;
|
|
2033
2512
|
"projects_not_converted": number;
|
|
2034
2513
|
};
|
|
2035
2514
|
|
|
2036
|
-
export type
|
|
2037
|
-
"
|
|
2038
|
-
"
|
|
2039
|
-
"
|
|
2515
|
+
export type ProfitabilityDimensionRow = {
|
|
2516
|
+
"dimension_id": number;
|
|
2517
|
+
"dimension_name": string;
|
|
2518
|
+
"currency": string;
|
|
2519
|
+
"rounded_seconds": number;
|
|
2520
|
+
"revenue_cents": number | null;
|
|
2521
|
+
"cost_cents": number | null;
|
|
2522
|
+
"profit_cents": number | null;
|
|
2523
|
+
"return_on_cost_ppm": number | null;
|
|
2524
|
+
"revenue_fee_cents": number;
|
|
2525
|
+
"fees_included_in_delivery_cost_cents": number;
|
|
2526
|
+
"entries_without_billable_rate": number;
|
|
2527
|
+
"entries_without_cost_rate": number;
|
|
2528
|
+
"included_in_headline": boolean;
|
|
2529
|
+
};
|
|
2530
|
+
|
|
2531
|
+
export type ProfitabilityTrendRow = (ProfitabilityDimensionRow) & ({
|
|
2532
|
+
"period_start": string;
|
|
2533
|
+
"period_end": string;
|
|
2534
|
+
"current": boolean;
|
|
2535
|
+
});
|
|
2536
|
+
|
|
2537
|
+
export type ProfitabilityFilters = {
|
|
2538
|
+
"project_status": "all" | "active" | "archived";
|
|
2539
|
+
"billing_method": "non_billable" | "time_materials" | "fixed_fee" | null;
|
|
2540
|
+
"manager_id": number | null;
|
|
2541
|
+
"tag_id": number | null;
|
|
2542
|
+
};
|
|
2543
|
+
|
|
2544
|
+
export type ProfitabilityReport = {
|
|
2545
|
+
"from": string;
|
|
2546
|
+
"to": string;
|
|
2547
|
+
"organization_currency": string;
|
|
2040
2548
|
"rows": Array<ProfitabilityRow>;
|
|
2549
|
+
"clients": Array<ProfitabilityDimensionRow>;
|
|
2550
|
+
"teammates": Array<ProfitabilityDimensionRow>;
|
|
2551
|
+
"tasks": Array<ProfitabilityDimensionRow>;
|
|
2552
|
+
"trend": Array<ProfitabilityTrendRow>;
|
|
2041
2553
|
"totals": ProfitabilityTotals;
|
|
2554
|
+
"filters": ProfitabilityFilters;
|
|
2042
2555
|
"previous_from": string;
|
|
2043
2556
|
"previous_to": string;
|
|
2044
2557
|
"previous_totals": ProfitabilityTotals;
|
|
@@ -2161,6 +2674,17 @@ export type ModuleListEnvelope = {
|
|
|
2161
2674
|
"links": Links;
|
|
2162
2675
|
};
|
|
2163
2676
|
|
|
2677
|
+
export type SignInMethodState = {
|
|
2678
|
+
"method": "password" | "magic_link" | "google" | "github" | "apple";
|
|
2679
|
+
"configured": boolean;
|
|
2680
|
+
"enabled": boolean;
|
|
2681
|
+
};
|
|
2682
|
+
|
|
2683
|
+
export type SignInMethodListEnvelope = {
|
|
2684
|
+
"data": Array<SignInMethodState>;
|
|
2685
|
+
"links": Links;
|
|
2686
|
+
};
|
|
2687
|
+
|
|
2164
2688
|
export type SsoDomain = {
|
|
2165
2689
|
"id": number;
|
|
2166
2690
|
"domain": string;
|
|
@@ -2268,6 +2792,77 @@ export type BillClientDeliveryEnvelope = {
|
|
|
2268
2792
|
"data": BillClientDelivery;
|
|
2269
2793
|
};
|
|
2270
2794
|
|
|
2795
|
+
export type InvoicePaymentLinkEnvelope = {
|
|
2796
|
+
"data": {
|
|
2797
|
+
"invoice_id": number;
|
|
2798
|
+
"url": string;
|
|
2799
|
+
};
|
|
2800
|
+
};
|
|
2801
|
+
|
|
2802
|
+
export type IncompleteRecurringInvoiceListEnvelope = {
|
|
2803
|
+
"data": Array<{
|
|
2804
|
+
"id": number;
|
|
2805
|
+
"harvest_id": number;
|
|
2806
|
+
"client_id": number;
|
|
2807
|
+
"client_name": string;
|
|
2808
|
+
"invoice_count": number;
|
|
2809
|
+
"created_at": string;
|
|
2810
|
+
"updated_at": string;
|
|
2811
|
+
}>;
|
|
2812
|
+
};
|
|
2813
|
+
|
|
2814
|
+
export type RecurringInvoiceCompletionEnvelope = {
|
|
2815
|
+
"data": {
|
|
2816
|
+
"id": number;
|
|
2817
|
+
"completed": boolean;
|
|
2818
|
+
};
|
|
2819
|
+
};
|
|
2820
|
+
|
|
2821
|
+
export type InvoiceThankYouPreferenceEnvelope = {
|
|
2822
|
+
"data": {
|
|
2823
|
+
"invoice_id": number;
|
|
2824
|
+
"auto_thank_you": boolean;
|
|
2825
|
+
"organization_auto_thank_you": boolean;
|
|
2826
|
+
"effective": boolean;
|
|
2827
|
+
};
|
|
2828
|
+
};
|
|
2829
|
+
|
|
2830
|
+
export type OrganizationInvoiceThankYouEnvelope = {
|
|
2831
|
+
"data": {
|
|
2832
|
+
"auto_thank_you": boolean;
|
|
2833
|
+
};
|
|
2834
|
+
};
|
|
2835
|
+
|
|
2836
|
+
export type InvoiceDocumentPreferenceEnvelope = {
|
|
2837
|
+
"data": {
|
|
2838
|
+
"invoice_id": number;
|
|
2839
|
+
"attach_pdf": boolean;
|
|
2840
|
+
"organization_attach_pdf": boolean;
|
|
2841
|
+
"effective": boolean;
|
|
2842
|
+
"attach_files": boolean;
|
|
2843
|
+
"organization_attach_files": boolean;
|
|
2844
|
+
"effective_files": boolean;
|
|
2845
|
+
"attach_journal": "detailed" | "summary" | boolean;
|
|
2846
|
+
"organization_attach_journal": "detailed" | "summary" | boolean;
|
|
2847
|
+
"effective_journal": "detailed" | "summary" | boolean;
|
|
2848
|
+
};
|
|
2849
|
+
};
|
|
2850
|
+
|
|
2851
|
+
export type OrganizationInvoiceDocumentsEnvelope = {
|
|
2852
|
+
"data": {
|
|
2853
|
+
"attach_pdf": boolean;
|
|
2854
|
+
"attach_files": boolean;
|
|
2855
|
+
"attach_journal": "detailed" | "summary" | boolean;
|
|
2856
|
+
};
|
|
2857
|
+
};
|
|
2858
|
+
|
|
2859
|
+
export type ReleasedTimeEnvelope = {
|
|
2860
|
+
"data": {
|
|
2861
|
+
"invoice_id": number;
|
|
2862
|
+
"released": number;
|
|
2863
|
+
};
|
|
2864
|
+
};
|
|
2865
|
+
|
|
2271
2866
|
export type PayoutAccount = {
|
|
2272
2867
|
"id": number;
|
|
2273
2868
|
"user_id": number;
|
|
@@ -2325,6 +2920,31 @@ export type TwoFactorCodeInput = {
|
|
|
2325
2920
|
"code": string;
|
|
2326
2921
|
};
|
|
2327
2922
|
|
|
2923
|
+
export type TwoFactorChallengeIssued = {
|
|
2924
|
+
"status": "two_factor_required";
|
|
2925
|
+
"challenge": string;
|
|
2926
|
+
"expires_at": string;
|
|
2927
|
+
};
|
|
2928
|
+
|
|
2929
|
+
export type TwoFactorChallengeInput = {
|
|
2930
|
+
"code": string;
|
|
2931
|
+
"challenge"?: string;
|
|
2932
|
+
};
|
|
2933
|
+
|
|
2934
|
+
export type TwoFactorChallengeAccepted = {
|
|
2935
|
+
"status": "authenticated";
|
|
2936
|
+
};
|
|
2937
|
+
|
|
2938
|
+
export type TwoFactorChallengeAcceptedEnvelope = {
|
|
2939
|
+
"data": TwoFactorChallengeAccepted;
|
|
2940
|
+
};
|
|
2941
|
+
|
|
2942
|
+
export type SignInResult = AuthPrincipal | TwoFactorChallengeIssued;
|
|
2943
|
+
|
|
2944
|
+
export type SignInResultEnvelope = {
|
|
2945
|
+
"data": SignInResult;
|
|
2946
|
+
};
|
|
2947
|
+
|
|
2328
2948
|
export type UserEmailInput = {
|
|
2329
2949
|
"email": string;
|
|
2330
2950
|
};
|
|
@@ -2381,7 +3001,14 @@ export class EzactoClient {
|
|
|
2381
3001
|
? options.baseUrl
|
|
2382
3002
|
: `${options.baseUrl}/`;
|
|
2383
3003
|
this.token = options.token;
|
|
2384
|
-
this
|
|
3004
|
+
// Bound, because this is stored on the instance and later called as
|
|
3005
|
+
// `this.fetchImplementation(...)`. A browser's fetch is a method of
|
|
3006
|
+
// Window and refuses any other receiver, so the unbound form threw
|
|
3007
|
+
// "Failed to execute 'fetch' on 'Window': Illegal invocation" on every
|
|
3008
|
+
// request from a page or an extension (#772). Binding whatever we are
|
|
3009
|
+
// given also covers a caller who hands us a bare `globalThis.fetch`;
|
|
3010
|
+
// an arrow or an already-bound function ignores the receiver anyway.
|
|
3011
|
+
this.fetchImplementation = (options.fetch ?? globalThis.fetch).bind(globalThis);
|
|
2385
3012
|
this.defaultHeaders = new Headers(options.headers);
|
|
2386
3013
|
}
|
|
2387
3014
|
|
|
@@ -2448,10 +3075,20 @@ export class EzactoClient {
|
|
|
2448
3075
|
});
|
|
2449
3076
|
}
|
|
2450
3077
|
|
|
2451
|
-
async signIn(args: { body: PasswordSignInInput; signal?: AbortSignal; headers?: HeadersInit }): Promise<
|
|
3078
|
+
async signIn(args: { body: PasswordSignInInput; signal?: AbortSignal; headers?: HeadersInit }): Promise<SignInResultEnvelope> {
|
|
3079
|
+
const headers = new Headers(args.headers);
|
|
3080
|
+
|
|
3081
|
+
return this.request<SignInResultEnvelope>("POST", "/auth/sign-in", {
|
|
3082
|
+
body: args.body,
|
|
3083
|
+
signal: args.signal,
|
|
3084
|
+
headers,
|
|
3085
|
+
});
|
|
3086
|
+
}
|
|
3087
|
+
|
|
3088
|
+
async completeTwoFactorChallenge(args: { body: TwoFactorChallengeInput; signal?: AbortSignal; headers?: HeadersInit }): Promise<TwoFactorChallengeAcceptedEnvelope> {
|
|
2452
3089
|
const headers = new Headers(args.headers);
|
|
2453
3090
|
|
|
2454
|
-
return this.request<
|
|
3091
|
+
return this.request<TwoFactorChallengeAcceptedEnvelope>("POST", "/auth/two-factor/challenge", {
|
|
2455
3092
|
body: args.body,
|
|
2456
3093
|
signal: args.signal,
|
|
2457
3094
|
headers,
|
|
@@ -2696,6 +3333,25 @@ export class EzactoClient {
|
|
|
2696
3333
|
});
|
|
2697
3334
|
}
|
|
2698
3335
|
|
|
3336
|
+
async getProfile(args: { signal?: AbortSignal; headers?: HeadersInit } = {}): Promise<ProfileEnvelope> {
|
|
3337
|
+
const headers = new Headers(args.headers);
|
|
3338
|
+
|
|
3339
|
+
return this.request<ProfileEnvelope>("GET", "/api/v1/profile", {
|
|
3340
|
+
signal: args.signal,
|
|
3341
|
+
headers,
|
|
3342
|
+
});
|
|
3343
|
+
}
|
|
3344
|
+
|
|
3345
|
+
async updateProfile(args: { body: ProfilePatch; signal?: AbortSignal; headers?: HeadersInit }): Promise<ProfileEnvelope> {
|
|
3346
|
+
const headers = new Headers(args.headers);
|
|
3347
|
+
|
|
3348
|
+
return this.request<ProfileEnvelope>("PATCH", "/api/v1/profile", {
|
|
3349
|
+
body: args.body,
|
|
3350
|
+
signal: args.signal,
|
|
3351
|
+
headers,
|
|
3352
|
+
});
|
|
3353
|
+
}
|
|
3354
|
+
|
|
2699
3355
|
async listClients(args: { query?: { "cursor"?: string; "per_page"?: number; "is_active"?: boolean; "updated_since"?: string; "parent_client_id"?: number; "bill_to_client_id"?: number; "q"?: string }; signal?: AbortSignal; headers?: HeadersInit } = {}): Promise<GeneralResourcePage> {
|
|
2700
3356
|
const headers = new Headers(args.headers);
|
|
2701
3357
|
|
|
@@ -3492,7 +4148,7 @@ export class EzactoClient {
|
|
|
3492
4148
|
});
|
|
3493
4149
|
}
|
|
3494
4150
|
|
|
3495
|
-
async listInvoices(args: { query?: { "cursor"?: string; "per_page"?: number; "state"?: string }; signal?: AbortSignal; headers?: HeadersInit } = {}): Promise<InvoicePage> {
|
|
4151
|
+
async listInvoices(args: { query?: { "cursor"?: string; "per_page"?: number; "state"?: string; "client_id"?: string }; signal?: AbortSignal; headers?: HeadersInit } = {}): Promise<InvoicePage> {
|
|
3496
4152
|
const headers = new Headers(args.headers);
|
|
3497
4153
|
|
|
3498
4154
|
return this.request<InvoicePage>("GET", "/api/v1/invoices", {
|
|
@@ -3687,7 +4343,7 @@ export class EzactoClient {
|
|
|
3687
4343
|
});
|
|
3688
4344
|
}
|
|
3689
4345
|
|
|
3690
|
-
async listRetainers(args: { query?: { "cursor"?: string; "per_page"?: number }; signal?: AbortSignal; headers?: HeadersInit } = {}): Promise<RetainerPage> {
|
|
4346
|
+
async listRetainers(args: { query?: { "cursor"?: string; "per_page"?: number; "client_id"?: string }; signal?: AbortSignal; headers?: HeadersInit } = {}): Promise<RetainerPage> {
|
|
3691
4347
|
const headers = new Headers(args.headers);
|
|
3692
4348
|
|
|
3693
4349
|
return this.request<RetainerPage>("GET", "/api/v1/retainers", {
|
|
@@ -3803,6 +4459,16 @@ export class EzactoClient {
|
|
|
3803
4459
|
});
|
|
3804
4460
|
}
|
|
3805
4461
|
|
|
4462
|
+
async backfillRecurringInvoiceClaims(args: { "id": number; "Idempotency-Key": string; body: BandClaimBackfillInput; signal?: AbortSignal; headers?: HeadersInit }): Promise<BandClaimBackfillEnvelope> {
|
|
4463
|
+
const headers = new Headers(args.headers);
|
|
4464
|
+
if (args["Idempotency-Key"] !== undefined) headers.set("Idempotency-Key", String(args["Idempotency-Key"]));
|
|
4465
|
+
return this.request<BandClaimBackfillEnvelope>("POST", "/api/v1/recurring-invoices/:id/claim-backfill".replace(":id", encodeURIComponent(String(args["id"]))), {
|
|
4466
|
+
body: args.body,
|
|
4467
|
+
signal: args.signal,
|
|
4468
|
+
headers,
|
|
4469
|
+
});
|
|
4470
|
+
}
|
|
4471
|
+
|
|
3806
4472
|
async generateRecurringInvoice(args: { "id": number; "Idempotency-Key": string; signal?: AbortSignal; headers?: HeadersInit }): Promise<RecurringGenerationEnvelope> {
|
|
3807
4473
|
const headers = new Headers(args.headers);
|
|
3808
4474
|
if (args["Idempotency-Key"] !== undefined) headers.set("Idempotency-Key", String(args["Idempotency-Key"]));
|
|
@@ -4007,6 +4673,127 @@ export class EzactoClient {
|
|
|
4007
4673
|
});
|
|
4008
4674
|
}
|
|
4009
4675
|
|
|
4676
|
+
async getReportDefinitionRegistry(args: { signal?: AbortSignal; headers?: HeadersInit } = {}): Promise<ReportDefinitionRegistryEnvelope> {
|
|
4677
|
+
const headers = new Headers(args.headers);
|
|
4678
|
+
|
|
4679
|
+
return this.request<ReportDefinitionRegistryEnvelope>("GET", "/api/v1/report-definitions/registry", {
|
|
4680
|
+
signal: args.signal,
|
|
4681
|
+
headers,
|
|
4682
|
+
});
|
|
4683
|
+
}
|
|
4684
|
+
|
|
4685
|
+
async listSavedReports(args: { query?: { "view"?: "all" | "yours" | "shared"; "q"?: string; "custom_only"?: boolean }; signal?: AbortSignal; headers?: HeadersInit } = {}): Promise<SavedReportListEnvelope> {
|
|
4686
|
+
const headers = new Headers(args.headers);
|
|
4687
|
+
|
|
4688
|
+
return this.request<SavedReportListEnvelope>("GET", "/api/v1/report-definitions", {
|
|
4689
|
+
query: args.query,
|
|
4690
|
+
signal: args.signal,
|
|
4691
|
+
headers,
|
|
4692
|
+
});
|
|
4693
|
+
}
|
|
4694
|
+
|
|
4695
|
+
async createSavedReport(args: { body: SavedReportInput; signal?: AbortSignal; headers?: HeadersInit }): Promise<SavedReportEnvelope> {
|
|
4696
|
+
const headers = new Headers(args.headers);
|
|
4697
|
+
|
|
4698
|
+
return this.request<SavedReportEnvelope>("POST", "/api/v1/report-definitions", {
|
|
4699
|
+
body: args.body,
|
|
4700
|
+
signal: args.signal,
|
|
4701
|
+
headers,
|
|
4702
|
+
});
|
|
4703
|
+
}
|
|
4704
|
+
|
|
4705
|
+
async previewReportDefinition(args: { body: SavedReportInput; signal?: AbortSignal; headers?: HeadersInit }): Promise<ReportRunnerEnvelope> {
|
|
4706
|
+
const headers = new Headers(args.headers);
|
|
4707
|
+
|
|
4708
|
+
return this.request<ReportRunnerEnvelope>("POST", "/api/v1/report-definitions/preview", {
|
|
4709
|
+
body: args.body,
|
|
4710
|
+
signal: args.signal,
|
|
4711
|
+
headers,
|
|
4712
|
+
});
|
|
4713
|
+
}
|
|
4714
|
+
|
|
4715
|
+
async getSavedReport(args: { "reportId": string; signal?: AbortSignal; headers?: HeadersInit }): Promise<SavedReportEnvelope> {
|
|
4716
|
+
const headers = new Headers(args.headers);
|
|
4717
|
+
|
|
4718
|
+
return this.request<SavedReportEnvelope>("GET", "/api/v1/report-definitions/:reportId".replace(":reportId", encodeURIComponent(String(args["reportId"]))), {
|
|
4719
|
+
signal: args.signal,
|
|
4720
|
+
headers,
|
|
4721
|
+
});
|
|
4722
|
+
}
|
|
4723
|
+
|
|
4724
|
+
async updateSavedReport(args: { "reportId": string; body: SavedReportUpdate; signal?: AbortSignal; headers?: HeadersInit }): Promise<SavedReportEnvelope> {
|
|
4725
|
+
const headers = new Headers(args.headers);
|
|
4726
|
+
|
|
4727
|
+
return this.request<SavedReportEnvelope>("PATCH", "/api/v1/report-definitions/:reportId".replace(":reportId", encodeURIComponent(String(args["reportId"]))), {
|
|
4728
|
+
body: args.body,
|
|
4729
|
+
signal: args.signal,
|
|
4730
|
+
headers,
|
|
4731
|
+
});
|
|
4732
|
+
}
|
|
4733
|
+
|
|
4734
|
+
async deleteSavedReport(args: { "reportId": string; signal?: AbortSignal; headers?: HeadersInit }): Promise<void> {
|
|
4735
|
+
const headers = new Headers(args.headers);
|
|
4736
|
+
|
|
4737
|
+
return this.request<void>("DELETE", "/api/v1/report-definitions/:reportId".replace(":reportId", encodeURIComponent(String(args["reportId"]))), {
|
|
4738
|
+
signal: args.signal,
|
|
4739
|
+
headers,
|
|
4740
|
+
});
|
|
4741
|
+
}
|
|
4742
|
+
|
|
4743
|
+
async duplicateSavedReport(args: { "reportId": string; signal?: AbortSignal; headers?: HeadersInit }): Promise<SavedReportEnvelope> {
|
|
4744
|
+
const headers = new Headers(args.headers);
|
|
4745
|
+
|
|
4746
|
+
return this.request<SavedReportEnvelope>("POST", "/api/v1/report-definitions/:reportId/duplicate".replace(":reportId", encodeURIComponent(String(args["reportId"]))), {
|
|
4747
|
+
signal: args.signal,
|
|
4748
|
+
headers,
|
|
4749
|
+
});
|
|
4750
|
+
}
|
|
4751
|
+
|
|
4752
|
+
async pinSavedReport(args: { "reportId": string; signal?: AbortSignal; headers?: HeadersInit }): Promise<void> {
|
|
4753
|
+
const headers = new Headers(args.headers);
|
|
4754
|
+
|
|
4755
|
+
return this.request<void>("POST", "/api/v1/report-definitions/:reportId/pin".replace(":reportId", encodeURIComponent(String(args["reportId"]))), {
|
|
4756
|
+
signal: args.signal,
|
|
4757
|
+
headers,
|
|
4758
|
+
});
|
|
4759
|
+
}
|
|
4760
|
+
|
|
4761
|
+
async unpinSavedReport(args: { "reportId": string; signal?: AbortSignal; headers?: HeadersInit }): Promise<void> {
|
|
4762
|
+
const headers = new Headers(args.headers);
|
|
4763
|
+
|
|
4764
|
+
return this.request<void>("DELETE", "/api/v1/report-definitions/:reportId/pin".replace(":reportId", encodeURIComponent(String(args["reportId"]))), {
|
|
4765
|
+
signal: args.signal,
|
|
4766
|
+
headers,
|
|
4767
|
+
});
|
|
4768
|
+
}
|
|
4769
|
+
|
|
4770
|
+
async shareSavedReport(args: { "reportId": string; "userId": number; signal?: AbortSignal; headers?: HeadersInit }): Promise<void> {
|
|
4771
|
+
const headers = new Headers(args.headers);
|
|
4772
|
+
|
|
4773
|
+
return this.request<void>("POST", "/api/v1/report-definitions/:reportId/shares/:userId".replace(":reportId", encodeURIComponent(String(args["reportId"]))).replace(":userId", encodeURIComponent(String(args["userId"]))), {
|
|
4774
|
+
signal: args.signal,
|
|
4775
|
+
headers,
|
|
4776
|
+
});
|
|
4777
|
+
}
|
|
4778
|
+
|
|
4779
|
+
async unshareSavedReport(args: { "reportId": string; "userId": number; signal?: AbortSignal; headers?: HeadersInit }): Promise<void> {
|
|
4780
|
+
const headers = new Headers(args.headers);
|
|
4781
|
+
|
|
4782
|
+
return this.request<void>("DELETE", "/api/v1/report-definitions/:reportId/shares/:userId".replace(":reportId", encodeURIComponent(String(args["reportId"]))).replace(":userId", encodeURIComponent(String(args["userId"]))), {
|
|
4783
|
+
signal: args.signal,
|
|
4784
|
+
headers,
|
|
4785
|
+
});
|
|
4786
|
+
}
|
|
4787
|
+
|
|
4788
|
+
async runSavedReport(args: { "reportId": string; signal?: AbortSignal; headers?: HeadersInit }): Promise<ReportRunnerEnvelope> {
|
|
4789
|
+
const headers = new Headers(args.headers);
|
|
4790
|
+
|
|
4791
|
+
return this.request<ReportRunnerEnvelope>("POST", "/api/v1/report-definitions/:reportId/run".replace(":reportId", encodeURIComponent(String(args["reportId"]))), {
|
|
4792
|
+
signal: args.signal,
|
|
4793
|
+
headers,
|
|
4794
|
+
});
|
|
4795
|
+
}
|
|
4796
|
+
|
|
4010
4797
|
async getMyHoursReport(args: { query: { "from": string; "to": string; "project_id"?: number }; signal?: AbortSignal; headers?: HeadersInit }): Promise<MyHoursReportEnvelope> {
|
|
4011
4798
|
const headers = new Headers(args.headers);
|
|
4012
4799
|
|
|
@@ -4017,7 +4804,7 @@ export class EzactoClient {
|
|
|
4017
4804
|
});
|
|
4018
4805
|
}
|
|
4019
4806
|
|
|
4020
|
-
async getTimeReport(args: { query: { "from": string; "to": string }; signal?: AbortSignal; headers?: HeadersInit }): Promise<TimeReportEnvelope> {
|
|
4807
|
+
async getTimeReport(args: { query: { "from": string; "to": string; "include_fixed_fee"?: boolean }; signal?: AbortSignal; headers?: HeadersInit }): Promise<TimeReportEnvelope> {
|
|
4021
4808
|
const headers = new Headers(args.headers);
|
|
4022
4809
|
|
|
4023
4810
|
return this.request<TimeReportEnvelope>("GET", "/api/v1/reports/time", {
|
|
@@ -4027,6 +4814,36 @@ export class EzactoClient {
|
|
|
4027
4814
|
});
|
|
4028
4815
|
}
|
|
4029
4816
|
|
|
4817
|
+
async getInvoicedReport(args: { query: { "from": string; "to": string; "client_id"?: number; "status"?: "draft" | "open" | "paid" | "closed" }; signal?: AbortSignal; headers?: HeadersInit }): Promise<InvoicedReportEnvelope> {
|
|
4818
|
+
const headers = new Headers(args.headers);
|
|
4819
|
+
|
|
4820
|
+
return this.request<InvoicedReportEnvelope>("GET", "/api/v1/reports/invoiced", {
|
|
4821
|
+
query: args.query,
|
|
4822
|
+
signal: args.signal,
|
|
4823
|
+
headers,
|
|
4824
|
+
});
|
|
4825
|
+
}
|
|
4826
|
+
|
|
4827
|
+
async getPaymentsReceivedReport(args: { query: { "from": string; "to": string; "client_id"?: number }; signal?: AbortSignal; headers?: HeadersInit }): Promise<PaymentsReceivedReportEnvelope> {
|
|
4828
|
+
const headers = new Headers(args.headers);
|
|
4829
|
+
|
|
4830
|
+
return this.request<PaymentsReceivedReportEnvelope>("GET", "/api/v1/reports/payments-received", {
|
|
4831
|
+
query: args.query,
|
|
4832
|
+
signal: args.signal,
|
|
4833
|
+
headers,
|
|
4834
|
+
});
|
|
4835
|
+
}
|
|
4836
|
+
|
|
4837
|
+
async getReceivablesReport(args: { query: { "as_of": string; "client_id"?: number }; signal?: AbortSignal; headers?: HeadersInit }): Promise<ReceivablesReportEnvelope> {
|
|
4838
|
+
const headers = new Headers(args.headers);
|
|
4839
|
+
|
|
4840
|
+
return this.request<ReceivablesReportEnvelope>("GET", "/api/v1/reports/receivables", {
|
|
4841
|
+
query: args.query,
|
|
4842
|
+
signal: args.signal,
|
|
4843
|
+
headers,
|
|
4844
|
+
});
|
|
4845
|
+
}
|
|
4846
|
+
|
|
4030
4847
|
async getContractorCostReport(args: { query: { "from": string; "to": string }; signal?: AbortSignal; headers?: HeadersInit }): Promise<ContractorCostReportEnvelope> {
|
|
4031
4848
|
const headers = new Headers(args.headers);
|
|
4032
4849
|
|
|
@@ -4037,7 +4854,46 @@ export class EzactoClient {
|
|
|
4037
4854
|
});
|
|
4038
4855
|
}
|
|
4039
4856
|
|
|
4040
|
-
async
|
|
4857
|
+
async getMonthEndManifest(args: { query: { "from": string; "to": string }; signal?: AbortSignal; headers?: HeadersInit }): Promise<MonthEndManifestEnvelope> {
|
|
4858
|
+
const headers = new Headers(args.headers);
|
|
4859
|
+
|
|
4860
|
+
return this.request<MonthEndManifestEnvelope>("GET", "/api/v1/reports/month-end", {
|
|
4861
|
+
query: args.query,
|
|
4862
|
+
signal: args.signal,
|
|
4863
|
+
headers,
|
|
4864
|
+
});
|
|
4865
|
+
}
|
|
4866
|
+
|
|
4867
|
+
async getBandedMonthReport(args: { query: { "from": string; "to": string }; signal?: AbortSignal; headers?: HeadersInit }): Promise<BandedMonthReportEnvelope> {
|
|
4868
|
+
const headers = new Headers(args.headers);
|
|
4869
|
+
|
|
4870
|
+
return this.request<BandedMonthReportEnvelope>("GET", "/api/v1/reports/banded-months", {
|
|
4871
|
+
query: args.query,
|
|
4872
|
+
signal: args.signal,
|
|
4873
|
+
headers,
|
|
4874
|
+
});
|
|
4875
|
+
}
|
|
4876
|
+
|
|
4877
|
+
async getBandCostAlert(args: { signal?: AbortSignal; headers?: HeadersInit } = {}): Promise<BandCostAlertEnvelope> {
|
|
4878
|
+
const headers = new Headers(args.headers);
|
|
4879
|
+
|
|
4880
|
+
return this.request<BandCostAlertEnvelope>("GET", "/api/v1/reports/band-cost-alert", {
|
|
4881
|
+
signal: args.signal,
|
|
4882
|
+
headers,
|
|
4883
|
+
});
|
|
4884
|
+
}
|
|
4885
|
+
|
|
4886
|
+
async setBandCostAlert(args: { body: BandCostAlertInput; signal?: AbortSignal; headers?: HeadersInit }): Promise<BandCostAlertEnvelope> {
|
|
4887
|
+
const headers = new Headers(args.headers);
|
|
4888
|
+
|
|
4889
|
+
return this.request<BandCostAlertEnvelope>("POST", "/api/v1/reports/band-cost-alert", {
|
|
4890
|
+
body: args.body,
|
|
4891
|
+
signal: args.signal,
|
|
4892
|
+
headers,
|
|
4893
|
+
});
|
|
4894
|
+
}
|
|
4895
|
+
|
|
4896
|
+
async getProfitabilityReport(args: { query: { "from": string; "to": string; "project_status"?: "all" | "active" | "archived"; "billing_method"?: "non_billable" | "time_materials" | "fixed_fee"; "manager_id"?: number; "tag_id"?: number }; signal?: AbortSignal; headers?: HeadersInit }): Promise<ProfitabilityReportEnvelope> {
|
|
4041
4897
|
const headers = new Headers(args.headers);
|
|
4042
4898
|
|
|
4043
4899
|
return this.request<ProfitabilityReportEnvelope>("GET", "/api/v1/reports/profitability", {
|
|
@@ -4047,7 +4903,7 @@ export class EzactoClient {
|
|
|
4047
4903
|
});
|
|
4048
4904
|
}
|
|
4049
4905
|
|
|
4050
|
-
async getDetailedExpenseReport(args: { query: { "from": string; "to": string; "client_id"?: number; "project_id"?: number; "
|
|
4906
|
+
async getDetailedExpenseReport(args: { query: { "from": string; "to": string; "client_id"?: number; "project_id"?: number; "category_id"?: number; "user_id"?: number; "billable"?: boolean; "reimbursable"?: boolean; "invoice_state"?: "all" | "invoiced" | "uninvoiced"; "active_projects_only"?: boolean }; signal?: AbortSignal; headers?: HeadersInit }): Promise<DetailedExpenseReportEnvelope> {
|
|
4051
4907
|
const headers = new Headers(args.headers);
|
|
4052
4908
|
|
|
4053
4909
|
return this.request<DetailedExpenseReportEnvelope>("GET", "/api/v1/reports/detailed-expense", {
|
|
@@ -4067,7 +4923,7 @@ export class EzactoClient {
|
|
|
4067
4923
|
});
|
|
4068
4924
|
}
|
|
4069
4925
|
|
|
4070
|
-
async getDetailedTimeReport(args: { query: { "from": string; "to": string; "client_id"?: number; "project_id"?: number; "hours"?: "all" | "billable" | "non_billable" | "uninvoiced"; "grain"?: "day" | "entry"; "active_projects_only"?: boolean }; signal?: AbortSignal; headers?: HeadersInit }): Promise<DetailedTimeReportEnvelope> {
|
|
4926
|
+
async getDetailedTimeReport(args: { query: { "from": string; "to": string; "client_id"?: number; "project_id"?: number; "task_id"?: number; "user_id"?: number; "role_id"?: number; "tag_id"?: number; "hours"?: "all" | "billable" | "non_billable" | "uninvoiced" | "claimed" | "unclaimed"; "grain"?: "day" | "entry"; "invoice_state"?: "all" | "invoiced" | "uninvoiced"; "active_projects_only"?: boolean }; signal?: AbortSignal; headers?: HeadersInit }): Promise<DetailedTimeReportEnvelope> {
|
|
4071
4927
|
const headers = new Headers(args.headers);
|
|
4072
4928
|
|
|
4073
4929
|
return this.request<DetailedTimeReportEnvelope>("GET", "/api/v1/reports/detailed-time", {
|
|
@@ -4077,6 +4933,16 @@ export class EzactoClient {
|
|
|
4077
4933
|
});
|
|
4078
4934
|
}
|
|
4079
4935
|
|
|
4936
|
+
async executeDetailedTimeAction(args: { body: ReportTimeActionInput; signal?: AbortSignal; headers?: HeadersInit }): Promise<ReportTimeActionEnvelope> {
|
|
4937
|
+
const headers = new Headers(args.headers);
|
|
4938
|
+
|
|
4939
|
+
return this.request<ReportTimeActionEnvelope>("POST", "/api/v1/reports/detailed-time/actions", {
|
|
4940
|
+
body: args.body,
|
|
4941
|
+
signal: args.signal,
|
|
4942
|
+
headers,
|
|
4943
|
+
});
|
|
4944
|
+
}
|
|
4945
|
+
|
|
4080
4946
|
async getClientRollupReport(args: { "clientId": number; query: { "from": string; "to": string }; signal?: AbortSignal; headers?: HeadersInit }): Promise<ClientRollupReportEnvelope> {
|
|
4081
4947
|
const headers = new Headers(args.headers);
|
|
4082
4948
|
|
|
@@ -4126,6 +4992,25 @@ export class EzactoClient {
|
|
|
4126
4992
|
});
|
|
4127
4993
|
}
|
|
4128
4994
|
|
|
4995
|
+
async listSignInMethods(args: { signal?: AbortSignal; headers?: HeadersInit } = {}): Promise<SignInMethodListEnvelope> {
|
|
4996
|
+
const headers = new Headers(args.headers);
|
|
4997
|
+
|
|
4998
|
+
return this.request<SignInMethodListEnvelope>("GET", "/api/v1/admin/sign-in-methods", {
|
|
4999
|
+
signal: args.signal,
|
|
5000
|
+
headers,
|
|
5001
|
+
});
|
|
5002
|
+
}
|
|
5003
|
+
|
|
5004
|
+
async updateSignInMethod(args: { "method": string; body: ModulePatch; signal?: AbortSignal; headers?: HeadersInit }): Promise<SignInMethodListEnvelope> {
|
|
5005
|
+
const headers = new Headers(args.headers);
|
|
5006
|
+
|
|
5007
|
+
return this.request<SignInMethodListEnvelope>("PATCH", "/api/v1/admin/sign-in-methods/:method".replace(":method", encodeURIComponent(String(args["method"]))), {
|
|
5008
|
+
body: args.body,
|
|
5009
|
+
signal: args.signal,
|
|
5010
|
+
headers,
|
|
5011
|
+
});
|
|
5012
|
+
}
|
|
5013
|
+
|
|
4129
5014
|
async getBackupStatus(args: { signal?: AbortSignal; headers?: HeadersInit } = {}): Promise<BackupStatusEnvelope> {
|
|
4130
5015
|
const headers = new Headers(args.headers);
|
|
4131
5016
|
|
|
@@ -4172,6 +5057,90 @@ export class EzactoClient {
|
|
|
4172
5057
|
});
|
|
4173
5058
|
}
|
|
4174
5059
|
|
|
5060
|
+
async getWiseConnection(args: { signal?: AbortSignal; headers?: HeadersInit } = {}): Promise<WiseStatusEnvelope> {
|
|
5061
|
+
const headers = new Headers(args.headers);
|
|
5062
|
+
|
|
5063
|
+
return this.request<WiseStatusEnvelope>("GET", "/api/v1/integrations/wise", {
|
|
5064
|
+
signal: args.signal,
|
|
5065
|
+
headers,
|
|
5066
|
+
});
|
|
5067
|
+
}
|
|
5068
|
+
|
|
5069
|
+
async listWiseRecipients(args: { signal?: AbortSignal; headers?: HeadersInit } = {}): Promise<WiseRecipientListEnvelope> {
|
|
5070
|
+
const headers = new Headers(args.headers);
|
|
5071
|
+
|
|
5072
|
+
return this.request<WiseRecipientListEnvelope>("GET", "/api/v1/integrations/wise/recipients", {
|
|
5073
|
+
signal: args.signal,
|
|
5074
|
+
headers,
|
|
5075
|
+
});
|
|
5076
|
+
}
|
|
5077
|
+
|
|
5078
|
+
async onboardWiseRecipient(args: { body: WiseOnboardInput; signal?: AbortSignal; headers?: HeadersInit }): Promise<WiseLinkEnvelope> {
|
|
5079
|
+
const headers = new Headers(args.headers);
|
|
5080
|
+
|
|
5081
|
+
return this.request<WiseLinkEnvelope>("POST", "/api/v1/integrations/wise/recipients", {
|
|
5082
|
+
body: args.body,
|
|
5083
|
+
signal: args.signal,
|
|
5084
|
+
headers,
|
|
5085
|
+
});
|
|
5086
|
+
}
|
|
5087
|
+
|
|
5088
|
+
async listWisePayoutProposals(args: { signal?: AbortSignal; headers?: HeadersInit } = {}): Promise<WiseProposalListEnvelope> {
|
|
5089
|
+
const headers = new Headers(args.headers);
|
|
5090
|
+
|
|
5091
|
+
return this.request<WiseProposalListEnvelope>("GET", "/api/v1/integrations/wise/proposals", {
|
|
5092
|
+
signal: args.signal,
|
|
5093
|
+
headers,
|
|
5094
|
+
});
|
|
5095
|
+
}
|
|
5096
|
+
|
|
5097
|
+
async getWisePayoutDestination(args: { "userId": number; signal?: AbortSignal; headers?: HeadersInit }): Promise<WiseDestinationEnvelope> {
|
|
5098
|
+
const headers = new Headers(args.headers);
|
|
5099
|
+
|
|
5100
|
+
return this.request<WiseDestinationEnvelope>("GET", "/api/v1/integrations/wise/destinations/:userId".replace(":userId", encodeURIComponent(String(args["userId"]))), {
|
|
5101
|
+
signal: args.signal,
|
|
5102
|
+
headers,
|
|
5103
|
+
});
|
|
5104
|
+
}
|
|
5105
|
+
|
|
5106
|
+
async removeWisePayoutDestination(args: { "userId": number; signal?: AbortSignal; headers?: HeadersInit }): Promise<void> {
|
|
5107
|
+
const headers = new Headers(args.headers);
|
|
5108
|
+
|
|
5109
|
+
return this.request<void>("DELETE", "/api/v1/integrations/wise/destinations/:userId".replace(":userId", encodeURIComponent(String(args["userId"]))), {
|
|
5110
|
+
signal: args.signal,
|
|
5111
|
+
headers,
|
|
5112
|
+
});
|
|
5113
|
+
}
|
|
5114
|
+
|
|
5115
|
+
async shareWiseProfile(args: { body: WiseContactInput; signal?: AbortSignal; headers?: HeadersInit }): Promise<WiseContactEnvelope> {
|
|
5116
|
+
const headers = new Headers(args.headers);
|
|
5117
|
+
|
|
5118
|
+
return this.request<WiseContactEnvelope>("POST", "/api/v1/integrations/wise/contacts", {
|
|
5119
|
+
body: args.body,
|
|
5120
|
+
signal: args.signal,
|
|
5121
|
+
headers,
|
|
5122
|
+
});
|
|
5123
|
+
}
|
|
5124
|
+
|
|
5125
|
+
async linkWiseRecipient(args: { body: WiseLinkInput; signal?: AbortSignal; headers?: HeadersInit }): Promise<WiseLinkEnvelope> {
|
|
5126
|
+
const headers = new Headers(args.headers);
|
|
5127
|
+
|
|
5128
|
+
return this.request<WiseLinkEnvelope>("POST", "/api/v1/integrations/wise/recipients/link", {
|
|
5129
|
+
body: args.body,
|
|
5130
|
+
signal: args.signal,
|
|
5131
|
+
headers,
|
|
5132
|
+
});
|
|
5133
|
+
}
|
|
5134
|
+
|
|
5135
|
+
async unlinkWiseRecipient(args: { "accountId": number; signal?: AbortSignal; headers?: HeadersInit }): Promise<void> {
|
|
5136
|
+
const headers = new Headers(args.headers);
|
|
5137
|
+
|
|
5138
|
+
return this.request<void>("DELETE", "/api/v1/integrations/wise/recipients/:accountId".replace(":accountId", encodeURIComponent(String(args["accountId"]))), {
|
|
5139
|
+
signal: args.signal,
|
|
5140
|
+
headers,
|
|
5141
|
+
});
|
|
5142
|
+
}
|
|
5143
|
+
|
|
4175
5144
|
async listSsoProvisioningDomains(args: { signal?: AbortSignal; headers?: HeadersInit } = {}): Promise<SsoDomainListEnvelope> {
|
|
4176
5145
|
const headers = new Headers(args.headers);
|
|
4177
5146
|
|
|
@@ -4264,6 +5233,114 @@ export class EzactoClient {
|
|
|
4264
5233
|
});
|
|
4265
5234
|
}
|
|
4266
5235
|
|
|
5236
|
+
async getInvoicePaymentLink(args: { "id": number; signal?: AbortSignal; headers?: HeadersInit }): Promise<InvoicePaymentLinkEnvelope> {
|
|
5237
|
+
const headers = new Headers(args.headers);
|
|
5238
|
+
|
|
5239
|
+
return this.request<InvoicePaymentLinkEnvelope>("POST", "/api/v1/invoices/:id/payment-link".replace(":id", encodeURIComponent(String(args["id"]))), {
|
|
5240
|
+
signal: args.signal,
|
|
5241
|
+
headers,
|
|
5242
|
+
});
|
|
5243
|
+
}
|
|
5244
|
+
|
|
5245
|
+
async releaseInvoicedTime(args: { "id": number; signal?: AbortSignal; headers?: HeadersInit }): Promise<ReleasedTimeEnvelope> {
|
|
5246
|
+
const headers = new Headers(args.headers);
|
|
5247
|
+
|
|
5248
|
+
return this.request<ReleasedTimeEnvelope>("POST", "/api/v1/invoices/:id/released-time".replace(":id", encodeURIComponent(String(args["id"]))), {
|
|
5249
|
+
signal: args.signal,
|
|
5250
|
+
headers,
|
|
5251
|
+
});
|
|
5252
|
+
}
|
|
5253
|
+
|
|
5254
|
+
async getInvoiceDocumentPreference(args: { "id": number; signal?: AbortSignal; headers?: HeadersInit }): Promise<InvoiceDocumentPreferenceEnvelope> {
|
|
5255
|
+
const headers = new Headers(args.headers);
|
|
5256
|
+
|
|
5257
|
+
return this.request<InvoiceDocumentPreferenceEnvelope>("GET", "/api/v1/invoices/:id/document-preference".replace(":id", encodeURIComponent(String(args["id"]))), {
|
|
5258
|
+
signal: args.signal,
|
|
5259
|
+
headers,
|
|
5260
|
+
});
|
|
5261
|
+
}
|
|
5262
|
+
|
|
5263
|
+
async setInvoiceDocumentPreference(args: { "id": number; signal?: AbortSignal; headers?: HeadersInit }): Promise<InvoiceDocumentPreferenceEnvelope> {
|
|
5264
|
+
const headers = new Headers(args.headers);
|
|
5265
|
+
|
|
5266
|
+
return this.request<InvoiceDocumentPreferenceEnvelope>("POST", "/api/v1/invoices/:id/document-preference".replace(":id", encodeURIComponent(String(args["id"]))), {
|
|
5267
|
+
signal: args.signal,
|
|
5268
|
+
headers,
|
|
5269
|
+
});
|
|
5270
|
+
}
|
|
5271
|
+
|
|
5272
|
+
async getOrganizationInvoiceDocuments(args: { signal?: AbortSignal; headers?: HeadersInit } = {}): Promise<OrganizationInvoiceDocumentsEnvelope> {
|
|
5273
|
+
const headers = new Headers(args.headers);
|
|
5274
|
+
|
|
5275
|
+
return this.request<OrganizationInvoiceDocumentsEnvelope>("GET", "/api/v1/settings/invoice-documents", {
|
|
5276
|
+
signal: args.signal,
|
|
5277
|
+
headers,
|
|
5278
|
+
});
|
|
5279
|
+
}
|
|
5280
|
+
|
|
5281
|
+
async setOrganizationInvoiceDocuments(args: { signal?: AbortSignal; headers?: HeadersInit } = {}): Promise<OrganizationInvoiceDocumentsEnvelope> {
|
|
5282
|
+
const headers = new Headers(args.headers);
|
|
5283
|
+
|
|
5284
|
+
return this.request<OrganizationInvoiceDocumentsEnvelope>("POST", "/api/v1/settings/invoice-documents", {
|
|
5285
|
+
signal: args.signal,
|
|
5286
|
+
headers,
|
|
5287
|
+
});
|
|
5288
|
+
}
|
|
5289
|
+
|
|
5290
|
+
async getInvoiceThankYouPreference(args: { "id": number; signal?: AbortSignal; headers?: HeadersInit }): Promise<InvoiceThankYouPreferenceEnvelope> {
|
|
5291
|
+
const headers = new Headers(args.headers);
|
|
5292
|
+
|
|
5293
|
+
return this.request<InvoiceThankYouPreferenceEnvelope>("GET", "/api/v1/invoices/:id/thank-you-preference".replace(":id", encodeURIComponent(String(args["id"]))), {
|
|
5294
|
+
signal: args.signal,
|
|
5295
|
+
headers,
|
|
5296
|
+
});
|
|
5297
|
+
}
|
|
5298
|
+
|
|
5299
|
+
async setInvoiceThankYouPreference(args: { "id": number; signal?: AbortSignal; headers?: HeadersInit }): Promise<InvoiceThankYouPreferenceEnvelope> {
|
|
5300
|
+
const headers = new Headers(args.headers);
|
|
5301
|
+
|
|
5302
|
+
return this.request<InvoiceThankYouPreferenceEnvelope>("POST", "/api/v1/invoices/:id/thank-you-preference".replace(":id", encodeURIComponent(String(args["id"]))), {
|
|
5303
|
+
signal: args.signal,
|
|
5304
|
+
headers,
|
|
5305
|
+
});
|
|
5306
|
+
}
|
|
5307
|
+
|
|
5308
|
+
async getOrganizationInvoiceThankYou(args: { signal?: AbortSignal; headers?: HeadersInit } = {}): Promise<OrganizationInvoiceThankYouEnvelope> {
|
|
5309
|
+
const headers = new Headers(args.headers);
|
|
5310
|
+
|
|
5311
|
+
return this.request<OrganizationInvoiceThankYouEnvelope>("GET", "/api/v1/settings/invoice-thank-you", {
|
|
5312
|
+
signal: args.signal,
|
|
5313
|
+
headers,
|
|
5314
|
+
});
|
|
5315
|
+
}
|
|
5316
|
+
|
|
5317
|
+
async setOrganizationInvoiceThankYou(args: { signal?: AbortSignal; headers?: HeadersInit } = {}): Promise<OrganizationInvoiceThankYouEnvelope> {
|
|
5318
|
+
const headers = new Headers(args.headers);
|
|
5319
|
+
|
|
5320
|
+
return this.request<OrganizationInvoiceThankYouEnvelope>("POST", "/api/v1/settings/invoice-thank-you", {
|
|
5321
|
+
signal: args.signal,
|
|
5322
|
+
headers,
|
|
5323
|
+
});
|
|
5324
|
+
}
|
|
5325
|
+
|
|
5326
|
+
async listIncompleteRecurringInvoices(args: { signal?: AbortSignal; headers?: HeadersInit } = {}): Promise<IncompleteRecurringInvoiceListEnvelope> {
|
|
5327
|
+
const headers = new Headers(args.headers);
|
|
5328
|
+
|
|
5329
|
+
return this.request<IncompleteRecurringInvoiceListEnvelope>("GET", "/api/v1/recurring-invoices/incomplete", {
|
|
5330
|
+
signal: args.signal,
|
|
5331
|
+
headers,
|
|
5332
|
+
});
|
|
5333
|
+
}
|
|
5334
|
+
|
|
5335
|
+
async completeRecurringInvoiceDefinition(args: { "id": number; signal?: AbortSignal; headers?: HeadersInit }): Promise<RecurringInvoiceCompletionEnvelope> {
|
|
5336
|
+
const headers = new Headers(args.headers);
|
|
5337
|
+
|
|
5338
|
+
return this.request<RecurringInvoiceCompletionEnvelope>("POST", "/api/v1/recurring-invoices/:id/completion".replace(":id", encodeURIComponent(String(args["id"]))), {
|
|
5339
|
+
signal: args.signal,
|
|
5340
|
+
headers,
|
|
5341
|
+
});
|
|
5342
|
+
}
|
|
5343
|
+
|
|
4267
5344
|
async listPayoutAccounts(args: { "id": number; signal?: AbortSignal; headers?: HeadersInit }): Promise<PayoutAccountListEnvelope> {
|
|
4268
5345
|
const headers = new Headers(args.headers);
|
|
4269
5346
|
|
|
@@ -4445,6 +5522,16 @@ export class EzactoClient {
|
|
|
4445
5522
|
});
|
|
4446
5523
|
}
|
|
4447
5524
|
|
|
5525
|
+
async removeTeamPersonRate(args: { "id": number; "rateId": number; "Idempotency-Key": string; body: TeamRateRemovalInput; signal?: AbortSignal; headers?: HeadersInit }): Promise<TeamCommandReceiptEnvelope> {
|
|
5526
|
+
const headers = new Headers(args.headers);
|
|
5527
|
+
if (args["Idempotency-Key"] !== undefined) headers.set("Idempotency-Key", String(args["Idempotency-Key"]));
|
|
5528
|
+
return this.request<TeamCommandReceiptEnvelope>("DELETE", "/api/v1/team/people/:id/rates/:rateId".replace(":id", encodeURIComponent(String(args["id"]))).replace(":rateId", encodeURIComponent(String(args["rateId"]))), {
|
|
5529
|
+
body: args.body,
|
|
5530
|
+
signal: args.signal,
|
|
5531
|
+
headers,
|
|
5532
|
+
});
|
|
5533
|
+
}
|
|
5534
|
+
|
|
4448
5535
|
async listClientAncestors(args: { "id": number; signal?: AbortSignal; headers?: HeadersInit }): Promise<ClientHierarchyListEnvelope> {
|
|
4449
5536
|
const headers = new Headers(args.headers);
|
|
4450
5537
|
|