mergepythonclient 2.1.0__py3-none-any.whl → 2.2.0__py3-none-any.whl

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.
Files changed (175) hide show
  1. merge/core/client_wrapper.py +2 -2
  2. merge/core/force_multipart.py +4 -2
  3. merge/core/http_response.py +1 -1
  4. merge/core/unchecked_base_model.py +41 -3
  5. merge/resources/accounting/__init__.py +64 -0
  6. merge/resources/accounting/client.py +5 -0
  7. merge/resources/accounting/resources/__init__.py +10 -0
  8. merge/resources/accounting/resources/accounting_periods/client.py +6 -2
  9. merge/resources/accounting/resources/accounts/client.py +6 -2
  10. merge/resources/accounting/resources/attachments/client.py +6 -2
  11. merge/resources/accounting/resources/audit_trail/client.py +6 -2
  12. merge/resources/accounting/resources/balance_sheets/client.py +6 -2
  13. merge/resources/accounting/resources/bank_feed_accounts/client.py +6 -2
  14. merge/resources/accounting/resources/bank_feed_transactions/client.py +6 -2
  15. merge/resources/accounting/resources/cash_flow_statements/client.py +6 -2
  16. merge/resources/accounting/resources/company_info/client.py +6 -2
  17. merge/resources/accounting/resources/contacts/client.py +195 -4
  18. merge/resources/accounting/resources/contacts/raw_client.py +203 -0
  19. merge/resources/accounting/resources/credit_notes/client.py +6 -2
  20. merge/resources/accounting/resources/employees/client.py +67 -2
  21. merge/resources/accounting/resources/employees/raw_client.py +62 -0
  22. merge/resources/accounting/resources/expense_reports/__init__.py +15 -0
  23. merge/resources/accounting/resources/expense_reports/client.py +1015 -0
  24. merge/resources/accounting/resources/expense_reports/raw_client.py +1020 -0
  25. merge/resources/accounting/resources/expense_reports/types/__init__.py +13 -0
  26. merge/resources/accounting/resources/expense_reports/types/expense_reports_lines_list_request_expand.py +265 -0
  27. merge/resources/accounting/resources/expense_reports/types/expense_reports_list_request_expand.py +73 -0
  28. merge/resources/accounting/resources/expense_reports/types/expense_reports_retrieve_request_expand.py +73 -0
  29. merge/resources/accounting/resources/expenses/client.py +18 -6
  30. merge/resources/accounting/resources/general_ledger_transactions/client.py +6 -2
  31. merge/resources/accounting/resources/income_statements/client.py +6 -2
  32. merge/resources/accounting/resources/invoices/client.py +18 -6
  33. merge/resources/accounting/resources/issues/client.py +6 -2
  34. merge/resources/accounting/resources/items/client.py +6 -2
  35. merge/resources/accounting/resources/journal_entries/client.py +18 -6
  36. merge/resources/accounting/resources/linked_accounts/client.py +6 -2
  37. merge/resources/accounting/resources/payment_methods/client.py +6 -2
  38. merge/resources/accounting/resources/payment_terms/client.py +6 -2
  39. merge/resources/accounting/resources/payments/client.py +18 -6
  40. merge/resources/accounting/resources/projects/client.py +67 -2
  41. merge/resources/accounting/resources/projects/raw_client.py +62 -0
  42. merge/resources/accounting/resources/purchase_orders/client.py +18 -6
  43. merge/resources/accounting/resources/sync_status/client.py +6 -2
  44. merge/resources/accounting/resources/tax_rates/client.py +6 -2
  45. merge/resources/accounting/resources/tracking_categories/client.py +6 -2
  46. merge/resources/accounting/resources/transactions/client.py +6 -2
  47. merge/resources/accounting/resources/transactions/types/transactions_list_request_expand.py +141 -0
  48. merge/resources/accounting/resources/transactions/types/transactions_retrieve_request_expand.py +141 -0
  49. merge/resources/accounting/resources/vendor_credits/client.py +6 -2
  50. merge/resources/accounting/types/__init__.py +56 -0
  51. merge/resources/accounting/types/expense_report.py +423 -0
  52. merge/resources/accounting/types/expense_report_company.py +7 -0
  53. merge/resources/accounting/types/expense_report_line.py +441 -0
  54. merge/resources/accounting/types/expense_report_line_account.py +7 -0
  55. merge/resources/accounting/types/expense_report_line_company.py +7 -0
  56. merge/resources/accounting/types/expense_report_line_contact.py +7 -0
  57. merge/resources/accounting/types/expense_report_line_employee.py +7 -0
  58. merge/resources/accounting/types/expense_report_line_project.py +7 -0
  59. merge/resources/accounting/types/expense_report_line_request.py +427 -0
  60. merge/resources/accounting/types/expense_report_line_request_account.py +7 -0
  61. merge/resources/accounting/types/expense_report_line_request_company.py +7 -0
  62. merge/resources/accounting/types/expense_report_line_request_contact.py +7 -0
  63. merge/resources/accounting/types/expense_report_line_request_employee.py +7 -0
  64. merge/resources/accounting/types/expense_report_line_request_project.py +7 -0
  65. merge/resources/accounting/types/expense_report_line_request_tax_rate.py +7 -0
  66. merge/resources/accounting/types/expense_report_line_tax_rate.py +7 -0
  67. merge/resources/accounting/types/expense_report_request.py +401 -0
  68. merge/resources/accounting/types/expense_report_request_accounting_period.py +7 -0
  69. merge/resources/accounting/types/expense_report_request_company.py +7 -0
  70. merge/resources/accounting/types/expense_report_request_employee.py +7 -0
  71. merge/resources/accounting/types/expense_report_response.py +27 -0
  72. merge/resources/accounting/types/expense_report_status.py +7 -0
  73. merge/resources/accounting/types/expense_report_status_enum.py +36 -0
  74. merge/resources/accounting/types/external_target_field_api_response.py +3 -0
  75. merge/resources/accounting/types/field_mapping_api_instance_response.py +3 -0
  76. merge/resources/accounting/types/item.py +11 -0
  77. merge/resources/accounting/types/item_type.py +7 -0
  78. merge/resources/accounting/types/paginated_expense_report_line_list.py +23 -0
  79. merge/resources/accounting/types/paginated_expense_report_list.py +23 -0
  80. merge/resources/accounting/types/patched_contact_request.py +91 -0
  81. merge/resources/accounting/types/patched_contact_request_addresses_item.py +7 -0
  82. merge/resources/accounting/types/remote_field_class.py +1 -0
  83. merge/resources/ats/resources/activities/client.py +6 -2
  84. merge/resources/ats/resources/applications/client.py +6 -2
  85. merge/resources/ats/resources/attachments/client.py +6 -2
  86. merge/resources/ats/resources/audit_trail/client.py +6 -2
  87. merge/resources/ats/resources/candidates/client.py +6 -2
  88. merge/resources/ats/resources/departments/client.py +6 -2
  89. merge/resources/ats/resources/eeocs/client.py +6 -2
  90. merge/resources/ats/resources/interviews/client.py +6 -2
  91. merge/resources/ats/resources/issues/client.py +6 -2
  92. merge/resources/ats/resources/job_interview_stages/client.py +6 -2
  93. merge/resources/ats/resources/job_postings/client.py +6 -2
  94. merge/resources/ats/resources/jobs/client.py +8 -2
  95. merge/resources/ats/resources/linked_accounts/client.py +6 -2
  96. merge/resources/ats/resources/offers/client.py +6 -2
  97. merge/resources/ats/resources/offices/client.py +6 -2
  98. merge/resources/ats/resources/reject_reasons/client.py +6 -2
  99. merge/resources/ats/resources/scorecards/client.py +6 -2
  100. merge/resources/ats/resources/sync_status/client.py +6 -2
  101. merge/resources/ats/resources/tags/client.py +6 -2
  102. merge/resources/ats/resources/users/client.py +6 -2
  103. merge/resources/ats/types/event_type_enum.py +4 -0
  104. merge/resources/crm/resources/accounts/client.py +12 -4
  105. merge/resources/crm/resources/association_types/client.py +2 -0
  106. merge/resources/crm/resources/associations/client.py +2 -0
  107. merge/resources/crm/resources/audit_trail/client.py +6 -2
  108. merge/resources/crm/resources/contacts/client.py +12 -4
  109. merge/resources/crm/resources/custom_object_classes/client.py +6 -2
  110. merge/resources/crm/resources/custom_objects/client.py +8 -2
  111. merge/resources/crm/resources/engagement_types/client.py +12 -4
  112. merge/resources/crm/resources/engagements/client.py +12 -4
  113. merge/resources/crm/resources/issues/client.py +6 -2
  114. merge/resources/crm/resources/leads/client.py +12 -4
  115. merge/resources/crm/resources/linked_accounts/client.py +6 -2
  116. merge/resources/crm/resources/notes/client.py +12 -4
  117. merge/resources/crm/resources/opportunities/client.py +12 -4
  118. merge/resources/crm/resources/stages/client.py +12 -4
  119. merge/resources/crm/resources/sync_status/client.py +6 -2
  120. merge/resources/crm/resources/tasks/client.py +12 -4
  121. merge/resources/crm/resources/users/client.py +12 -4
  122. merge/resources/crm/types/remote_field_class.py +1 -0
  123. merge/resources/filestorage/resources/audit_trail/client.py +6 -2
  124. merge/resources/filestorage/resources/drives/client.py +6 -2
  125. merge/resources/filestorage/resources/files/client.py +42 -4
  126. merge/resources/filestorage/resources/files/raw_client.py +38 -0
  127. merge/resources/filestorage/resources/folders/client.py +6 -2
  128. merge/resources/filestorage/resources/groups/client.py +6 -2
  129. merge/resources/filestorage/resources/issues/client.py +6 -2
  130. merge/resources/filestorage/resources/linked_accounts/client.py +6 -2
  131. merge/resources/filestorage/resources/sync_status/client.py +6 -2
  132. merge/resources/filestorage/resources/users/client.py +6 -2
  133. merge/resources/hris/resources/audit_trail/client.py +6 -2
  134. merge/resources/hris/resources/bank_info/client.py +6 -2
  135. merge/resources/hris/resources/benefits/client.py +6 -2
  136. merge/resources/hris/resources/companies/client.py +6 -2
  137. merge/resources/hris/resources/dependents/client.py +6 -2
  138. merge/resources/hris/resources/employee_payroll_runs/client.py +6 -2
  139. merge/resources/hris/resources/employees/client.py +6 -2
  140. merge/resources/hris/resources/employer_benefits/client.py +6 -2
  141. merge/resources/hris/resources/employments/client.py +6 -2
  142. merge/resources/hris/resources/groups/client.py +6 -2
  143. merge/resources/hris/resources/issues/client.py +6 -2
  144. merge/resources/hris/resources/linked_accounts/client.py +6 -2
  145. merge/resources/hris/resources/locations/client.py +6 -2
  146. merge/resources/hris/resources/pay_groups/client.py +6 -2
  147. merge/resources/hris/resources/payroll_runs/client.py +6 -2
  148. merge/resources/hris/resources/sync_status/client.py +6 -2
  149. merge/resources/hris/resources/teams/client.py +6 -2
  150. merge/resources/hris/resources/time_off/client.py +6 -2
  151. merge/resources/hris/resources/time_off_balances/client.py +6 -2
  152. merge/resources/hris/resources/timesheet_entries/client.py +6 -2
  153. merge/resources/hris/types/benefit.py +4 -4
  154. merge/resources/ticketing/resources/accounts/client.py +6 -2
  155. merge/resources/ticketing/resources/attachments/client.py +6 -2
  156. merge/resources/ticketing/resources/audit_trail/client.py +6 -2
  157. merge/resources/ticketing/resources/collections/client.py +8 -2
  158. merge/resources/ticketing/resources/comments/client.py +6 -2
  159. merge/resources/ticketing/resources/contacts/client.py +6 -2
  160. merge/resources/ticketing/resources/issues/client.py +6 -2
  161. merge/resources/ticketing/resources/linked_accounts/client.py +6 -2
  162. merge/resources/ticketing/resources/projects/client.py +8 -2
  163. merge/resources/ticketing/resources/roles/client.py +6 -2
  164. merge/resources/ticketing/resources/sync_status/client.py +6 -2
  165. merge/resources/ticketing/resources/tags/client.py +6 -2
  166. merge/resources/ticketing/resources/teams/client.py +6 -2
  167. merge/resources/ticketing/resources/tickets/client.py +24 -4
  168. merge/resources/ticketing/resources/tickets/raw_client.py +10 -0
  169. merge/resources/ticketing/resources/users/client.py +6 -2
  170. merge/resources/ticketing/types/patched_ticket_request.py +5 -5
  171. merge/resources/ticketing/types/remote_field_class.py +1 -0
  172. {mergepythonclient-2.1.0.dist-info → mergepythonclient-2.2.0.dist-info}/METADATA +5 -2
  173. {mergepythonclient-2.1.0.dist-info → mergepythonclient-2.2.0.dist-info}/RECORD +175 -140
  174. {mergepythonclient-2.1.0.dist-info → mergepythonclient-2.2.0.dist-info}/LICENSE.md +0 -0
  175. {mergepythonclient-2.1.0.dist-info → mergepythonclient-2.2.0.dist-info}/WHEEL +0 -0
@@ -120,7 +120,9 @@ class JournalEntriesClient:
120
120
  account_token="YOUR_ACCOUNT_TOKEN",
121
121
  api_key="YOUR_API_KEY",
122
122
  )
123
- client.accounting.journal_entries.list()
123
+ client.accounting.journal_entries.list(
124
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
125
+ )
124
126
  """
125
127
  _response = self._raw_client.list(
126
128
  company_id=company_id,
@@ -302,7 +304,9 @@ class JournalEntriesClient:
302
304
  account_token="YOUR_ACCOUNT_TOKEN",
303
305
  api_key="YOUR_API_KEY",
304
306
  )
305
- client.accounting.journal_entries.lines_remote_field_classes_list()
307
+ client.accounting.journal_entries.lines_remote_field_classes_list(
308
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
309
+ )
306
310
  """
307
311
  _response = self._raw_client.lines_remote_field_classes_list(
308
312
  cursor=cursor,
@@ -397,7 +401,9 @@ class JournalEntriesClient:
397
401
  account_token="YOUR_ACCOUNT_TOKEN",
398
402
  api_key="YOUR_API_KEY",
399
403
  )
400
- client.accounting.journal_entries.remote_field_classes_list()
404
+ client.accounting.journal_entries.remote_field_classes_list(
405
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
406
+ )
401
407
  """
402
408
  _response = self._raw_client.remote_field_classes_list(
403
409
  cursor=cursor,
@@ -518,7 +524,9 @@ class AsyncJournalEntriesClient:
518
524
 
519
525
 
520
526
  async def main() -> None:
521
- await client.accounting.journal_entries.list()
527
+ await client.accounting.journal_entries.list(
528
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
529
+ )
522
530
 
523
531
 
524
532
  asyncio.run(main())
@@ -724,7 +732,9 @@ class AsyncJournalEntriesClient:
724
732
 
725
733
 
726
734
  async def main() -> None:
727
- await client.accounting.journal_entries.lines_remote_field_classes_list()
735
+ await client.accounting.journal_entries.lines_remote_field_classes_list(
736
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
737
+ )
728
738
 
729
739
 
730
740
  asyncio.run(main())
@@ -835,7 +845,9 @@ class AsyncJournalEntriesClient:
835
845
 
836
846
 
837
847
  async def main() -> None:
838
- await client.accounting.journal_entries.remote_field_classes_list()
848
+ await client.accounting.journal_entries.remote_field_classes_list(
849
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
850
+ )
839
851
 
840
852
 
841
853
  asyncio.run(main())
@@ -109,7 +109,9 @@ class LinkedAccountsClient:
109
109
  account_token="YOUR_ACCOUNT_TOKEN",
110
110
  api_key="YOUR_API_KEY",
111
111
  )
112
- client.accounting.linked_accounts.list()
112
+ client.accounting.linked_accounts.list(
113
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
114
+ )
113
115
  """
114
116
  _response = self._raw_client.list(
115
117
  category=category,
@@ -235,7 +237,9 @@ class AsyncLinkedAccountsClient:
235
237
 
236
238
 
237
239
  async def main() -> None:
238
- await client.accounting.linked_accounts.list()
240
+ await client.accounting.linked_accounts.list(
241
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
242
+ )
239
243
 
240
244
 
241
245
  asyncio.run(main())
@@ -70,7 +70,9 @@ class PaymentMethodsClient:
70
70
  account_token="YOUR_ACCOUNT_TOKEN",
71
71
  api_key="YOUR_API_KEY",
72
72
  )
73
- client.accounting.payment_methods.list()
73
+ client.accounting.payment_methods.list(
74
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
75
+ )
74
76
  """
75
77
  _response = self._raw_client.list(
76
78
  cursor=cursor,
@@ -198,7 +200,9 @@ class AsyncPaymentMethodsClient:
198
200
 
199
201
 
200
202
  async def main() -> None:
201
- await client.accounting.payment_methods.list()
203
+ await client.accounting.payment_methods.list(
204
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
205
+ )
202
206
 
203
207
 
204
208
  asyncio.run(main())
@@ -74,7 +74,9 @@ class PaymentTermsClient:
74
74
  account_token="YOUR_ACCOUNT_TOKEN",
75
75
  api_key="YOUR_API_KEY",
76
76
  )
77
- client.accounting.payment_terms.list()
77
+ client.accounting.payment_terms.list(
78
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
79
+ )
78
80
  """
79
81
  _response = self._raw_client.list(
80
82
  cursor=cursor,
@@ -212,7 +214,9 @@ class AsyncPaymentTermsClient:
212
214
 
213
215
 
214
216
  async def main() -> None:
215
- await client.accounting.payment_terms.list()
217
+ await client.accounting.payment_terms.list(
218
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
219
+ )
216
220
 
217
221
 
218
222
  asyncio.run(main())
@@ -129,7 +129,9 @@ class PaymentsClient:
129
129
  account_token="YOUR_ACCOUNT_TOKEN",
130
130
  api_key="YOUR_API_KEY",
131
131
  )
132
- client.accounting.payments.list()
132
+ client.accounting.payments.list(
133
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
134
+ )
133
135
  """
134
136
  _response = self._raw_client.list(
135
137
  account_id=account_id,
@@ -364,7 +366,9 @@ class PaymentsClient:
364
366
  account_token="YOUR_ACCOUNT_TOKEN",
365
367
  api_key="YOUR_API_KEY",
366
368
  )
367
- client.accounting.payments.line_items_remote_field_classes_list()
369
+ client.accounting.payments.line_items_remote_field_classes_list(
370
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
371
+ )
368
372
  """
369
373
  _response = self._raw_client.line_items_remote_field_classes_list(
370
374
  cursor=cursor,
@@ -490,7 +494,9 @@ class PaymentsClient:
490
494
  account_token="YOUR_ACCOUNT_TOKEN",
491
495
  api_key="YOUR_API_KEY",
492
496
  )
493
- client.accounting.payments.remote_field_classes_list()
497
+ client.accounting.payments.remote_field_classes_list(
498
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
499
+ )
494
500
  """
495
501
  _response = self._raw_client.remote_field_classes_list(
496
502
  cursor=cursor,
@@ -619,7 +625,9 @@ class AsyncPaymentsClient:
619
625
 
620
626
 
621
627
  async def main() -> None:
622
- await client.accounting.payments.list()
628
+ await client.accounting.payments.list(
629
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
630
+ )
623
631
 
624
632
 
625
633
  asyncio.run(main())
@@ -886,7 +894,9 @@ class AsyncPaymentsClient:
886
894
 
887
895
 
888
896
  async def main() -> None:
889
- await client.accounting.payments.line_items_remote_field_classes_list()
897
+ await client.accounting.payments.line_items_remote_field_classes_list(
898
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
899
+ )
890
900
 
891
901
 
892
902
  asyncio.run(main())
@@ -1038,7 +1048,9 @@ class AsyncPaymentsClient:
1038
1048
 
1039
1049
 
1040
1050
  async def main() -> None:
1041
- await client.accounting.payments.remote_field_classes_list()
1051
+ await client.accounting.payments.remote_field_classes_list(
1052
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
1053
+ )
1042
1054
 
1043
1055
 
1044
1056
  asyncio.run(main())
@@ -1,5 +1,6 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ import datetime as dt
3
4
  import typing
4
5
 
5
6
  from .....core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
@@ -29,12 +30,18 @@ class ProjectsClient:
29
30
  def list(
30
31
  self,
31
32
  *,
33
+ company_id: typing.Optional[str] = None,
34
+ created_after: typing.Optional[dt.datetime] = None,
35
+ created_before: typing.Optional[dt.datetime] = None,
32
36
  cursor: typing.Optional[str] = None,
33
37
  expand: typing.Optional[ProjectsListRequestExpand] = None,
34
38
  include_deleted_data: typing.Optional[bool] = None,
35
39
  include_remote_data: typing.Optional[bool] = None,
36
40
  include_shell_data: typing.Optional[bool] = None,
41
+ modified_after: typing.Optional[dt.datetime] = None,
42
+ modified_before: typing.Optional[dt.datetime] = None,
37
43
  page_size: typing.Optional[int] = None,
44
+ remote_id: typing.Optional[str] = None,
38
45
  request_options: typing.Optional[RequestOptions] = None,
39
46
  ) -> PaginatedProjectList:
40
47
  """
@@ -42,6 +49,15 @@ class ProjectsClient:
42
49
 
43
50
  Parameters
44
51
  ----------
52
+ company_id : typing.Optional[str]
53
+ If provided, will only return projects for this company.
54
+
55
+ created_after : typing.Optional[dt.datetime]
56
+ If provided, will only return objects created after this datetime.
57
+
58
+ created_before : typing.Optional[dt.datetime]
59
+ If provided, will only return objects created before this datetime.
60
+
45
61
  cursor : typing.Optional[str]
46
62
  The pagination cursor value.
47
63
 
@@ -57,9 +73,18 @@ class ProjectsClient:
57
73
  include_shell_data : typing.Optional[bool]
58
74
  Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
59
75
 
76
+ modified_after : typing.Optional[dt.datetime]
77
+ If provided, only objects synced by Merge after this date time will be returned.
78
+
79
+ modified_before : typing.Optional[dt.datetime]
80
+ If provided, only objects synced by Merge before this date time will be returned.
81
+
60
82
  page_size : typing.Optional[int]
61
83
  Number of results to return per page.
62
84
 
85
+ remote_id : typing.Optional[str]
86
+ The API provider's ID for the given object.
87
+
63
88
  request_options : typing.Optional[RequestOptions]
64
89
  Request-specific configuration.
65
90
 
@@ -76,15 +101,23 @@ class ProjectsClient:
76
101
  account_token="YOUR_ACCOUNT_TOKEN",
77
102
  api_key="YOUR_API_KEY",
78
103
  )
79
- client.accounting.projects.list()
104
+ client.accounting.projects.list(
105
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
106
+ )
80
107
  """
81
108
  _response = self._raw_client.list(
109
+ company_id=company_id,
110
+ created_after=created_after,
111
+ created_before=created_before,
82
112
  cursor=cursor,
83
113
  expand=expand,
84
114
  include_deleted_data=include_deleted_data,
85
115
  include_remote_data=include_remote_data,
86
116
  include_shell_data=include_shell_data,
117
+ modified_after=modified_after,
118
+ modified_before=modified_before,
87
119
  page_size=page_size,
120
+ remote_id=remote_id,
88
121
  request_options=request_options,
89
122
  )
90
123
  return _response.data
@@ -162,12 +195,18 @@ class AsyncProjectsClient:
162
195
  async def list(
163
196
  self,
164
197
  *,
198
+ company_id: typing.Optional[str] = None,
199
+ created_after: typing.Optional[dt.datetime] = None,
200
+ created_before: typing.Optional[dt.datetime] = None,
165
201
  cursor: typing.Optional[str] = None,
166
202
  expand: typing.Optional[ProjectsListRequestExpand] = None,
167
203
  include_deleted_data: typing.Optional[bool] = None,
168
204
  include_remote_data: typing.Optional[bool] = None,
169
205
  include_shell_data: typing.Optional[bool] = None,
206
+ modified_after: typing.Optional[dt.datetime] = None,
207
+ modified_before: typing.Optional[dt.datetime] = None,
170
208
  page_size: typing.Optional[int] = None,
209
+ remote_id: typing.Optional[str] = None,
171
210
  request_options: typing.Optional[RequestOptions] = None,
172
211
  ) -> PaginatedProjectList:
173
212
  """
@@ -175,6 +214,15 @@ class AsyncProjectsClient:
175
214
 
176
215
  Parameters
177
216
  ----------
217
+ company_id : typing.Optional[str]
218
+ If provided, will only return projects for this company.
219
+
220
+ created_after : typing.Optional[dt.datetime]
221
+ If provided, will only return objects created after this datetime.
222
+
223
+ created_before : typing.Optional[dt.datetime]
224
+ If provided, will only return objects created before this datetime.
225
+
178
226
  cursor : typing.Optional[str]
179
227
  The pagination cursor value.
180
228
 
@@ -190,9 +238,18 @@ class AsyncProjectsClient:
190
238
  include_shell_data : typing.Optional[bool]
191
239
  Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
192
240
 
241
+ modified_after : typing.Optional[dt.datetime]
242
+ If provided, only objects synced by Merge after this date time will be returned.
243
+
244
+ modified_before : typing.Optional[dt.datetime]
245
+ If provided, only objects synced by Merge before this date time will be returned.
246
+
193
247
  page_size : typing.Optional[int]
194
248
  Number of results to return per page.
195
249
 
250
+ remote_id : typing.Optional[str]
251
+ The API provider's ID for the given object.
252
+
196
253
  request_options : typing.Optional[RequestOptions]
197
254
  Request-specific configuration.
198
255
 
@@ -214,18 +271,26 @@ class AsyncProjectsClient:
214
271
 
215
272
 
216
273
  async def main() -> None:
217
- await client.accounting.projects.list()
274
+ await client.accounting.projects.list(
275
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
276
+ )
218
277
 
219
278
 
220
279
  asyncio.run(main())
221
280
  """
222
281
  _response = await self._raw_client.list(
282
+ company_id=company_id,
283
+ created_after=created_after,
284
+ created_before=created_before,
223
285
  cursor=cursor,
224
286
  expand=expand,
225
287
  include_deleted_data=include_deleted_data,
226
288
  include_remote_data=include_remote_data,
227
289
  include_shell_data=include_shell_data,
290
+ modified_after=modified_after,
291
+ modified_before=modified_before,
228
292
  page_size=page_size,
293
+ remote_id=remote_id,
229
294
  request_options=request_options,
230
295
  )
231
296
  return _response.data
@@ -1,10 +1,12 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ import datetime as dt
3
4
  import typing
4
5
  from json.decoder import JSONDecodeError
5
6
 
6
7
  from .....core.api_error import ApiError
7
8
  from .....core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
9
+ from .....core.datetime_utils import serialize_datetime
8
10
  from .....core.http_response import AsyncHttpResponse, HttpResponse
9
11
  from .....core.jsonable_encoder import jsonable_encoder
10
12
  from .....core.request_options import RequestOptions
@@ -22,12 +24,18 @@ class RawProjectsClient:
22
24
  def list(
23
25
  self,
24
26
  *,
27
+ company_id: typing.Optional[str] = None,
28
+ created_after: typing.Optional[dt.datetime] = None,
29
+ created_before: typing.Optional[dt.datetime] = None,
25
30
  cursor: typing.Optional[str] = None,
26
31
  expand: typing.Optional[ProjectsListRequestExpand] = None,
27
32
  include_deleted_data: typing.Optional[bool] = None,
28
33
  include_remote_data: typing.Optional[bool] = None,
29
34
  include_shell_data: typing.Optional[bool] = None,
35
+ modified_after: typing.Optional[dt.datetime] = None,
36
+ modified_before: typing.Optional[dt.datetime] = None,
30
37
  page_size: typing.Optional[int] = None,
38
+ remote_id: typing.Optional[str] = None,
31
39
  request_options: typing.Optional[RequestOptions] = None,
32
40
  ) -> HttpResponse[PaginatedProjectList]:
33
41
  """
@@ -35,6 +43,15 @@ class RawProjectsClient:
35
43
 
36
44
  Parameters
37
45
  ----------
46
+ company_id : typing.Optional[str]
47
+ If provided, will only return projects for this company.
48
+
49
+ created_after : typing.Optional[dt.datetime]
50
+ If provided, will only return objects created after this datetime.
51
+
52
+ created_before : typing.Optional[dt.datetime]
53
+ If provided, will only return objects created before this datetime.
54
+
38
55
  cursor : typing.Optional[str]
39
56
  The pagination cursor value.
40
57
 
@@ -50,9 +67,18 @@ class RawProjectsClient:
50
67
  include_shell_data : typing.Optional[bool]
51
68
  Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
52
69
 
70
+ modified_after : typing.Optional[dt.datetime]
71
+ If provided, only objects synced by Merge after this date time will be returned.
72
+
73
+ modified_before : typing.Optional[dt.datetime]
74
+ If provided, only objects synced by Merge before this date time will be returned.
75
+
53
76
  page_size : typing.Optional[int]
54
77
  Number of results to return per page.
55
78
 
79
+ remote_id : typing.Optional[str]
80
+ The API provider's ID for the given object.
81
+
56
82
  request_options : typing.Optional[RequestOptions]
57
83
  Request-specific configuration.
58
84
 
@@ -65,12 +91,18 @@ class RawProjectsClient:
65
91
  "accounting/v1/projects",
66
92
  method="GET",
67
93
  params={
94
+ "company_id": company_id,
95
+ "created_after": serialize_datetime(created_after) if created_after is not None else None,
96
+ "created_before": serialize_datetime(created_before) if created_before is not None else None,
68
97
  "cursor": cursor,
69
98
  "expand": expand,
70
99
  "include_deleted_data": include_deleted_data,
71
100
  "include_remote_data": include_remote_data,
72
101
  "include_shell_data": include_shell_data,
102
+ "modified_after": serialize_datetime(modified_after) if modified_after is not None else None,
103
+ "modified_before": serialize_datetime(modified_before) if modified_before is not None else None,
73
104
  "page_size": page_size,
105
+ "remote_id": remote_id,
74
106
  },
75
107
  request_options=request_options,
76
108
  )
@@ -155,12 +187,18 @@ class AsyncRawProjectsClient:
155
187
  async def list(
156
188
  self,
157
189
  *,
190
+ company_id: typing.Optional[str] = None,
191
+ created_after: typing.Optional[dt.datetime] = None,
192
+ created_before: typing.Optional[dt.datetime] = None,
158
193
  cursor: typing.Optional[str] = None,
159
194
  expand: typing.Optional[ProjectsListRequestExpand] = None,
160
195
  include_deleted_data: typing.Optional[bool] = None,
161
196
  include_remote_data: typing.Optional[bool] = None,
162
197
  include_shell_data: typing.Optional[bool] = None,
198
+ modified_after: typing.Optional[dt.datetime] = None,
199
+ modified_before: typing.Optional[dt.datetime] = None,
163
200
  page_size: typing.Optional[int] = None,
201
+ remote_id: typing.Optional[str] = None,
164
202
  request_options: typing.Optional[RequestOptions] = None,
165
203
  ) -> AsyncHttpResponse[PaginatedProjectList]:
166
204
  """
@@ -168,6 +206,15 @@ class AsyncRawProjectsClient:
168
206
 
169
207
  Parameters
170
208
  ----------
209
+ company_id : typing.Optional[str]
210
+ If provided, will only return projects for this company.
211
+
212
+ created_after : typing.Optional[dt.datetime]
213
+ If provided, will only return objects created after this datetime.
214
+
215
+ created_before : typing.Optional[dt.datetime]
216
+ If provided, will only return objects created before this datetime.
217
+
171
218
  cursor : typing.Optional[str]
172
219
  The pagination cursor value.
173
220
 
@@ -183,9 +230,18 @@ class AsyncRawProjectsClient:
183
230
  include_shell_data : typing.Optional[bool]
184
231
  Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
185
232
 
233
+ modified_after : typing.Optional[dt.datetime]
234
+ If provided, only objects synced by Merge after this date time will be returned.
235
+
236
+ modified_before : typing.Optional[dt.datetime]
237
+ If provided, only objects synced by Merge before this date time will be returned.
238
+
186
239
  page_size : typing.Optional[int]
187
240
  Number of results to return per page.
188
241
 
242
+ remote_id : typing.Optional[str]
243
+ The API provider's ID for the given object.
244
+
189
245
  request_options : typing.Optional[RequestOptions]
190
246
  Request-specific configuration.
191
247
 
@@ -198,12 +254,18 @@ class AsyncRawProjectsClient:
198
254
  "accounting/v1/projects",
199
255
  method="GET",
200
256
  params={
257
+ "company_id": company_id,
258
+ "created_after": serialize_datetime(created_after) if created_after is not None else None,
259
+ "created_before": serialize_datetime(created_before) if created_before is not None else None,
201
260
  "cursor": cursor,
202
261
  "expand": expand,
203
262
  "include_deleted_data": include_deleted_data,
204
263
  "include_remote_data": include_remote_data,
205
264
  "include_shell_data": include_shell_data,
265
+ "modified_after": serialize_datetime(modified_after) if modified_after is not None else None,
266
+ "modified_before": serialize_datetime(modified_before) if modified_before is not None else None,
206
267
  "page_size": page_size,
268
+ "remote_id": remote_id,
207
269
  },
208
270
  request_options=request_options,
209
271
  )
@@ -128,7 +128,9 @@ class PurchaseOrdersClient:
128
128
  account_token="YOUR_ACCOUNT_TOKEN",
129
129
  api_key="YOUR_API_KEY",
130
130
  )
131
- client.accounting.purchase_orders.list()
131
+ client.accounting.purchase_orders.list(
132
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
133
+ )
132
134
  """
133
135
  _response = self._raw_client.list(
134
136
  company_id=company_id,
@@ -322,7 +324,9 @@ class PurchaseOrdersClient:
322
324
  account_token="YOUR_ACCOUNT_TOKEN",
323
325
  api_key="YOUR_API_KEY",
324
326
  )
325
- client.accounting.purchase_orders.line_items_remote_field_classes_list()
327
+ client.accounting.purchase_orders.line_items_remote_field_classes_list(
328
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
329
+ )
326
330
  """
327
331
  _response = self._raw_client.line_items_remote_field_classes_list(
328
332
  cursor=cursor,
@@ -417,7 +421,9 @@ class PurchaseOrdersClient:
417
421
  account_token="YOUR_ACCOUNT_TOKEN",
418
422
  api_key="YOUR_API_KEY",
419
423
  )
420
- client.accounting.purchase_orders.remote_field_classes_list()
424
+ client.accounting.purchase_orders.remote_field_classes_list(
425
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
426
+ )
421
427
  """
422
428
  _response = self._raw_client.remote_field_classes_list(
423
429
  cursor=cursor,
@@ -546,7 +552,9 @@ class AsyncPurchaseOrdersClient:
546
552
 
547
553
 
548
554
  async def main() -> None:
549
- await client.accounting.purchase_orders.list()
555
+ await client.accounting.purchase_orders.list(
556
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
557
+ )
550
558
 
551
559
 
552
560
  asyncio.run(main())
@@ -764,7 +772,9 @@ class AsyncPurchaseOrdersClient:
764
772
 
765
773
 
766
774
  async def main() -> None:
767
- await client.accounting.purchase_orders.line_items_remote_field_classes_list()
775
+ await client.accounting.purchase_orders.line_items_remote_field_classes_list(
776
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
777
+ )
768
778
 
769
779
 
770
780
  asyncio.run(main())
@@ -875,7 +885,9 @@ class AsyncPurchaseOrdersClient:
875
885
 
876
886
 
877
887
  async def main() -> None:
878
- await client.accounting.purchase_orders.remote_field_classes_list()
888
+ await client.accounting.purchase_orders.remote_field_classes_list(
889
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
890
+ )
879
891
 
880
892
 
881
893
  asyncio.run(main())
@@ -57,7 +57,9 @@ class SyncStatusClient:
57
57
  account_token="YOUR_ACCOUNT_TOKEN",
58
58
  api_key="YOUR_API_KEY",
59
59
  )
60
- client.accounting.sync_status.list()
60
+ client.accounting.sync_status.list(
61
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
62
+ )
61
63
  """
62
64
  _response = self._raw_client.list(cursor=cursor, page_size=page_size, request_options=request_options)
63
65
  return _response.data
@@ -117,7 +119,9 @@ class AsyncSyncStatusClient:
117
119
 
118
120
 
119
121
  async def main() -> None:
120
- await client.accounting.sync_status.list()
122
+ await client.accounting.sync_status.list(
123
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
124
+ )
121
125
 
122
126
 
123
127
  asyncio.run(main())
@@ -103,7 +103,9 @@ class TaxRatesClient:
103
103
  account_token="YOUR_ACCOUNT_TOKEN",
104
104
  api_key="YOUR_API_KEY",
105
105
  )
106
- client.accounting.tax_rates.list()
106
+ client.accounting.tax_rates.list(
107
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
108
+ )
107
109
  """
108
110
  _response = self._raw_client.list(
109
111
  company_id=company_id,
@@ -276,7 +278,9 @@ class AsyncTaxRatesClient:
276
278
 
277
279
 
278
280
  async def main() -> None:
279
- await client.accounting.tax_rates.list()
281
+ await client.accounting.tax_rates.list(
282
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
283
+ )
280
284
 
281
285
 
282
286
  asyncio.run(main())
@@ -119,7 +119,9 @@ class TrackingCategoriesClient:
119
119
  account_token="YOUR_ACCOUNT_TOKEN",
120
120
  api_key="YOUR_API_KEY",
121
121
  )
122
- client.accounting.tracking_categories.list()
122
+ client.accounting.tracking_categories.list(
123
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
124
+ )
123
125
  """
124
126
  _response = self._raw_client.list(
125
127
  category_type=category_type,
@@ -322,7 +324,9 @@ class AsyncTrackingCategoriesClient:
322
324
 
323
325
 
324
326
  async def main() -> None:
325
- await client.accounting.tracking_categories.list()
327
+ await client.accounting.tracking_categories.list(
328
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
329
+ )
326
330
 
327
331
 
328
332
  asyncio.run(main())
@@ -109,7 +109,9 @@ class TransactionsClient:
109
109
  account_token="YOUR_ACCOUNT_TOKEN",
110
110
  api_key="YOUR_API_KEY",
111
111
  )
112
- client.accounting.transactions.list()
112
+ client.accounting.transactions.list(
113
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
114
+ )
113
115
  """
114
116
  _response = self._raw_client.list(
115
117
  company_id=company_id,
@@ -287,7 +289,9 @@ class AsyncTransactionsClient:
287
289
 
288
290
 
289
291
  async def main() -> None:
290
- await client.accounting.transactions.list()
292
+ await client.accounting.transactions.list(
293
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
294
+ )
291
295
 
292
296
 
293
297
  asyncio.run(main())