mergepythonclient 2.3.2__py3-none-any.whl → 2.4.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 (209) hide show
  1. merge/__init__.py +3 -1
  2. merge/client.py +49 -30
  3. merge/core/client_wrapper.py +2 -2
  4. merge/resources/__init__.py +3 -2
  5. merge/resources/knowledgebase/__init__.py +472 -0
  6. merge/resources/knowledgebase/client.py +480 -0
  7. merge/resources/knowledgebase/raw_client.py +13 -0
  8. merge/resources/knowledgebase/resources/__init__.py +128 -0
  9. merge/resources/knowledgebase/resources/account_details/__init__.py +4 -0
  10. merge/resources/knowledgebase/resources/account_details/client.py +102 -0
  11. merge/resources/knowledgebase/resources/account_details/raw_client.py +91 -0
  12. merge/resources/knowledgebase/resources/account_token/__init__.py +4 -0
  13. merge/resources/knowledgebase/resources/account_token/client.py +112 -0
  14. merge/resources/knowledgebase/resources/account_token/raw_client.py +98 -0
  15. merge/resources/knowledgebase/resources/articles/__init__.py +35 -0
  16. merge/resources/knowledgebase/resources/articles/client.py +378 -0
  17. merge/resources/knowledgebase/resources/articles/raw_client.py +363 -0
  18. merge/resources/knowledgebase/resources/articles/types/__init__.py +36 -0
  19. merge/resources/knowledgebase/resources/articles/types/articles_list_request_expand.py +625 -0
  20. merge/resources/knowledgebase/resources/articles/types/articles_retrieve_request_expand.py +631 -0
  21. merge/resources/knowledgebase/resources/async_passthrough/__init__.py +32 -0
  22. merge/resources/knowledgebase/resources/async_passthrough/client.py +201 -0
  23. merge/resources/knowledgebase/resources/async_passthrough/raw_client.py +189 -0
  24. merge/resources/knowledgebase/resources/async_passthrough/types/__init__.py +32 -0
  25. merge/resources/knowledgebase/resources/async_passthrough/types/async_passthrough_retrieve_response.py +7 -0
  26. merge/resources/knowledgebase/resources/attachments/__init__.py +4 -0
  27. merge/resources/knowledgebase/resources/attachments/client.py +326 -0
  28. merge/resources/knowledgebase/resources/attachments/raw_client.py +311 -0
  29. merge/resources/knowledgebase/resources/audit_trail/__init__.py +4 -0
  30. merge/resources/knowledgebase/resources/audit_trail/client.py +178 -0
  31. merge/resources/knowledgebase/resources/audit_trail/raw_client.py +161 -0
  32. merge/resources/knowledgebase/resources/available_actions/__init__.py +4 -0
  33. merge/resources/knowledgebase/resources/available_actions/client.py +102 -0
  34. merge/resources/knowledgebase/resources/available_actions/raw_client.py +91 -0
  35. merge/resources/knowledgebase/resources/containers/__init__.py +35 -0
  36. merge/resources/knowledgebase/resources/containers/client.py +378 -0
  37. merge/resources/knowledgebase/resources/containers/raw_client.py +363 -0
  38. merge/resources/knowledgebase/resources/containers/types/__init__.py +36 -0
  39. merge/resources/knowledgebase/resources/containers/types/containers_list_request_expand.py +41 -0
  40. merge/resources/knowledgebase/resources/containers/types/containers_retrieve_request_expand.py +41 -0
  41. merge/resources/knowledgebase/resources/delete_account/__init__.py +4 -0
  42. merge/resources/knowledgebase/resources/delete_account/client.py +99 -0
  43. merge/resources/knowledgebase/resources/delete_account/raw_client.py +71 -0
  44. merge/resources/knowledgebase/resources/field_mapping/__init__.py +4 -0
  45. merge/resources/knowledgebase/resources/field_mapping/client.py +652 -0
  46. merge/resources/knowledgebase/resources/field_mapping/raw_client.py +672 -0
  47. merge/resources/knowledgebase/resources/force_resync/__init__.py +4 -0
  48. merge/resources/knowledgebase/resources/force_resync/client.py +106 -0
  49. merge/resources/knowledgebase/resources/force_resync/raw_client.py +93 -0
  50. merge/resources/knowledgebase/resources/generate_key/__init__.py +4 -0
  51. merge/resources/knowledgebase/resources/generate_key/client.py +115 -0
  52. merge/resources/knowledgebase/resources/generate_key/raw_client.py +114 -0
  53. merge/resources/knowledgebase/resources/groups/__init__.py +32 -0
  54. merge/resources/knowledgebase/resources/groups/client.py +348 -0
  55. merge/resources/knowledgebase/resources/groups/raw_client.py +333 -0
  56. merge/resources/knowledgebase/resources/groups/types/__init__.py +36 -0
  57. merge/resources/knowledgebase/resources/groups/types/groups_list_request_expand.py +25 -0
  58. merge/resources/knowledgebase/resources/groups/types/groups_retrieve_request_expand.py +25 -0
  59. merge/resources/knowledgebase/resources/issues/__init__.py +32 -0
  60. merge/resources/knowledgebase/resources/issues/client.py +331 -0
  61. merge/resources/knowledgebase/resources/issues/raw_client.py +336 -0
  62. merge/resources/knowledgebase/resources/issues/types/__init__.py +32 -0
  63. merge/resources/knowledgebase/resources/issues/types/issues_list_request_status.py +17 -0
  64. merge/resources/knowledgebase/resources/link_token/__init__.py +32 -0
  65. merge/resources/knowledgebase/resources/link_token/client.py +273 -0
  66. merge/resources/knowledgebase/resources/link_token/raw_client.py +256 -0
  67. merge/resources/knowledgebase/resources/link_token/types/__init__.py +32 -0
  68. merge/resources/knowledgebase/resources/link_token/types/end_user_details_request_language.py +7 -0
  69. merge/resources/knowledgebase/resources/linked_accounts/__init__.py +32 -0
  70. merge/resources/knowledgebase/resources/linked_accounts/client.py +265 -0
  71. merge/resources/knowledgebase/resources/linked_accounts/raw_client.py +248 -0
  72. merge/resources/knowledgebase/resources/linked_accounts/types/__init__.py +34 -0
  73. merge/resources/knowledgebase/resources/linked_accounts/types/linked_accounts_list_request_category.py +45 -0
  74. merge/resources/knowledgebase/resources/passthrough/__init__.py +4 -0
  75. merge/resources/knowledgebase/resources/passthrough/client.py +126 -0
  76. merge/resources/knowledgebase/resources/passthrough/raw_client.py +111 -0
  77. merge/resources/knowledgebase/resources/regenerate_key/__init__.py +4 -0
  78. merge/resources/knowledgebase/resources/regenerate_key/client.py +115 -0
  79. merge/resources/knowledgebase/resources/regenerate_key/raw_client.py +114 -0
  80. merge/resources/knowledgebase/resources/scopes/__init__.py +4 -0
  81. merge/resources/knowledgebase/resources/scopes/client.py +320 -0
  82. merge/resources/knowledgebase/resources/scopes/raw_client.py +267 -0
  83. merge/resources/knowledgebase/resources/sync_status/__init__.py +4 -0
  84. merge/resources/knowledgebase/resources/sync_status/client.py +130 -0
  85. merge/resources/knowledgebase/resources/sync_status/raw_client.py +121 -0
  86. merge/resources/knowledgebase/resources/users/__init__.py +4 -0
  87. merge/resources/knowledgebase/resources/users/client.py +326 -0
  88. merge/resources/knowledgebase/resources/users/raw_client.py +311 -0
  89. merge/resources/knowledgebase/resources/webhook_receivers/__init__.py +4 -0
  90. merge/resources/knowledgebase/resources/webhook_receivers/client.py +201 -0
  91. merge/resources/knowledgebase/resources/webhook_receivers/raw_client.py +208 -0
  92. merge/resources/knowledgebase/types/__init__.py +374 -0
  93. merge/resources/knowledgebase/types/account_details.py +40 -0
  94. merge/resources/knowledgebase/types/account_details_and_actions.py +54 -0
  95. merge/resources/knowledgebase/types/account_details_and_actions_category.py +7 -0
  96. merge/resources/knowledgebase/types/account_details_and_actions_integration.py +29 -0
  97. merge/resources/knowledgebase/types/account_details_and_actions_status.py +7 -0
  98. merge/resources/knowledgebase/types/account_details_and_actions_status_enum.py +36 -0
  99. merge/resources/knowledgebase/types/account_details_category.py +7 -0
  100. merge/resources/knowledgebase/types/account_integration.py +67 -0
  101. merge/resources/knowledgebase/types/account_token.py +23 -0
  102. merge/resources/knowledgebase/types/advanced_metadata.py +25 -0
  103. merge/resources/knowledgebase/types/article.py +159 -0
  104. merge/resources/knowledgebase/types/article_attachments_item.py +7 -0
  105. merge/resources/knowledgebase/types/article_author.py +7 -0
  106. merge/resources/knowledgebase/types/article_last_edited_by.py +7 -0
  107. merge/resources/knowledgebase/types/article_parent_article.py +9 -0
  108. merge/resources/knowledgebase/types/article_parent_container.py +7 -0
  109. merge/resources/knowledgebase/types/article_permissions_item.py +7 -0
  110. merge/resources/knowledgebase/types/article_root_container.py +7 -0
  111. merge/resources/knowledgebase/types/article_status.py +7 -0
  112. merge/resources/knowledgebase/types/article_type.py +7 -0
  113. merge/resources/knowledgebase/types/article_type_enum.py +31 -0
  114. merge/resources/knowledgebase/types/article_visibility.py +7 -0
  115. merge/resources/knowledgebase/types/async_passthrough_reciept.py +20 -0
  116. merge/resources/knowledgebase/types/attachment.py +67 -0
  117. merge/resources/knowledgebase/types/audit_log_event.py +97 -0
  118. merge/resources/knowledgebase/types/audit_log_event_event_type.py +7 -0
  119. merge/resources/knowledgebase/types/audit_log_event_role.py +7 -0
  120. merge/resources/knowledgebase/types/available_actions.py +33 -0
  121. merge/resources/knowledgebase/types/categories_enum.py +56 -0
  122. merge/resources/knowledgebase/types/category_enum.py +56 -0
  123. merge/resources/knowledgebase/types/common_model_scope_api.py +24 -0
  124. merge/resources/knowledgebase/types/common_model_scopes_body_request.py +23 -0
  125. merge/resources/knowledgebase/types/completed_account_initial_screen_enum.py +5 -0
  126. merge/resources/knowledgebase/types/container.py +130 -0
  127. merge/resources/knowledgebase/types/container_permissions_item.py +7 -0
  128. merge/resources/knowledgebase/types/container_status.py +7 -0
  129. merge/resources/knowledgebase/types/container_type.py +7 -0
  130. merge/resources/knowledgebase/types/container_type_enum.py +46 -0
  131. merge/resources/knowledgebase/types/container_visibility.py +7 -0
  132. merge/resources/knowledgebase/types/data_passthrough_request.py +62 -0
  133. merge/resources/knowledgebase/types/data_passthrough_request_method.py +7 -0
  134. merge/resources/knowledgebase/types/data_passthrough_request_request_format.py +7 -0
  135. merge/resources/knowledgebase/types/debug_mode_log.py +23 -0
  136. merge/resources/knowledgebase/types/debug_model_log_summary.py +22 -0
  137. merge/resources/knowledgebase/types/enabled_actions_enum.py +22 -0
  138. merge/resources/knowledgebase/types/encoding_enum.py +31 -0
  139. merge/resources/knowledgebase/types/error_validation_problem.py +24 -0
  140. merge/resources/knowledgebase/types/event_type_enum.py +231 -0
  141. merge/resources/knowledgebase/types/external_target_field_api.py +22 -0
  142. merge/resources/knowledgebase/types/external_target_field_api_response.py +25 -0
  143. merge/resources/knowledgebase/types/field_mapping_api_instance.py +26 -0
  144. merge/resources/knowledgebase/types/field_mapping_api_instance_remote_field.py +27 -0
  145. merge/resources/knowledgebase/types/field_mapping_api_instance_remote_field_remote_endpoint_info.py +22 -0
  146. merge/resources/knowledgebase/types/field_mapping_api_instance_response.py +25 -0
  147. merge/resources/knowledgebase/types/field_mapping_api_instance_target_field.py +22 -0
  148. merge/resources/knowledgebase/types/field_mapping_instance_response.py +27 -0
  149. merge/resources/knowledgebase/types/field_permission_deserializer.py +21 -0
  150. merge/resources/knowledgebase/types/field_permission_deserializer_request.py +21 -0
  151. merge/resources/knowledgebase/types/group.py +71 -0
  152. merge/resources/knowledgebase/types/group_parent_group.py +9 -0
  153. merge/resources/knowledgebase/types/group_users_item.py +7 -0
  154. merge/resources/knowledgebase/types/individual_common_model_scope_deserializer.py +24 -0
  155. merge/resources/knowledgebase/types/individual_common_model_scope_deserializer_request.py +24 -0
  156. merge/resources/knowledgebase/types/issue.py +36 -0
  157. merge/resources/knowledgebase/types/issue_status.py +7 -0
  158. merge/resources/knowledgebase/types/issue_status_enum.py +22 -0
  159. merge/resources/knowledgebase/types/language_enum.py +22 -0
  160. merge/resources/knowledgebase/types/last_sync_result_enum.py +46 -0
  161. merge/resources/knowledgebase/types/link_token.py +22 -0
  162. merge/resources/knowledgebase/types/method_enum.py +51 -0
  163. merge/resources/knowledgebase/types/model_operation.py +32 -0
  164. merge/resources/knowledgebase/types/model_permission_deserializer.py +20 -0
  165. merge/resources/knowledgebase/types/model_permission_deserializer_request.py +20 -0
  166. merge/resources/knowledgebase/types/multipart_form_field_request.py +57 -0
  167. merge/resources/knowledgebase/types/multipart_form_field_request_encoding.py +7 -0
  168. merge/resources/knowledgebase/types/paginated_account_details_and_actions_list.py +23 -0
  169. merge/resources/knowledgebase/types/paginated_article_list.py +30 -0
  170. merge/resources/knowledgebase/types/paginated_attachment_list.py +23 -0
  171. merge/resources/knowledgebase/types/paginated_audit_log_event_list.py +23 -0
  172. merge/resources/knowledgebase/types/paginated_container_list.py +30 -0
  173. merge/resources/knowledgebase/types/paginated_group_list.py +29 -0
  174. merge/resources/knowledgebase/types/paginated_issue_list.py +23 -0
  175. merge/resources/knowledgebase/types/paginated_sync_status_list.py +23 -0
  176. merge/resources/knowledgebase/types/paginated_user_list.py +23 -0
  177. merge/resources/knowledgebase/types/permission.py +77 -0
  178. merge/resources/knowledgebase/types/permission_group.py +7 -0
  179. merge/resources/knowledgebase/types/permission_type.py +7 -0
  180. merge/resources/knowledgebase/types/permission_type_enum.py +36 -0
  181. merge/resources/knowledgebase/types/permission_user.py +7 -0
  182. merge/resources/knowledgebase/types/remote_data.py +34 -0
  183. merge/resources/knowledgebase/types/remote_endpoint_info.py +22 -0
  184. merge/resources/knowledgebase/types/remote_field_api.py +28 -0
  185. merge/resources/knowledgebase/types/remote_field_api_advanced_metadata.py +7 -0
  186. merge/resources/knowledgebase/types/remote_field_api_coverage.py +5 -0
  187. merge/resources/knowledgebase/types/remote_field_api_response.py +25 -0
  188. merge/resources/knowledgebase/types/remote_key.py +30 -0
  189. merge/resources/knowledgebase/types/remote_response.py +36 -0
  190. merge/resources/knowledgebase/types/remote_response_response_type.py +7 -0
  191. merge/resources/knowledgebase/types/request_format_enum.py +31 -0
  192. merge/resources/knowledgebase/types/response_type_enum.py +22 -0
  193. merge/resources/knowledgebase/types/role_enum.py +46 -0
  194. merge/resources/knowledgebase/types/roles_enum.py +31 -0
  195. merge/resources/knowledgebase/types/selective_sync_configurations_usage_enum.py +24 -0
  196. merge/resources/knowledgebase/types/status_3_c_6_enum.py +36 -0
  197. merge/resources/knowledgebase/types/status_fd_5_enum.py +46 -0
  198. merge/resources/knowledgebase/types/sync_status.py +41 -0
  199. merge/resources/knowledgebase/types/sync_status_last_sync_result.py +7 -0
  200. merge/resources/knowledgebase/types/sync_status_status.py +7 -0
  201. merge/resources/knowledgebase/types/user.py +60 -0
  202. merge/resources/knowledgebase/types/validation_problem_source.py +20 -0
  203. merge/resources/knowledgebase/types/visibility_enum.py +31 -0
  204. merge/resources/knowledgebase/types/warning_validation_problem.py +24 -0
  205. merge/resources/knowledgebase/types/webhook_receiver.py +22 -0
  206. {mergepythonclient-2.3.2.dist-info → mergepythonclient-2.4.0.dist-info}/METADATA +2 -1
  207. {mergepythonclient-2.3.2.dist-info → mergepythonclient-2.4.0.dist-info}/RECORD +209 -8
  208. {mergepythonclient-2.3.2.dist-info → mergepythonclient-2.4.0.dist-info}/LICENSE.md +0 -0
  209. {mergepythonclient-2.3.2.dist-info → mergepythonclient-2.4.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,326 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+
6
+ from .....core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
7
+ from .....core.request_options import RequestOptions
8
+ from ...types.attachment import Attachment
9
+ from ...types.paginated_attachment_list import PaginatedAttachmentList
10
+ from .raw_client import AsyncRawAttachmentsClient, RawAttachmentsClient
11
+
12
+
13
+ class AttachmentsClient:
14
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
15
+ self._raw_client = RawAttachmentsClient(client_wrapper=client_wrapper)
16
+
17
+ @property
18
+ def with_raw_response(self) -> RawAttachmentsClient:
19
+ """
20
+ Retrieves a raw implementation of this client that returns raw responses.
21
+
22
+ Returns
23
+ -------
24
+ RawAttachmentsClient
25
+ """
26
+ return self._raw_client
27
+
28
+ def list(
29
+ self,
30
+ *,
31
+ created_after: typing.Optional[dt.datetime] = None,
32
+ created_before: typing.Optional[dt.datetime] = None,
33
+ cursor: typing.Optional[str] = None,
34
+ include_deleted_data: typing.Optional[bool] = None,
35
+ include_remote_data: typing.Optional[bool] = None,
36
+ include_shell_data: typing.Optional[bool] = None,
37
+ modified_after: typing.Optional[dt.datetime] = None,
38
+ modified_before: typing.Optional[dt.datetime] = None,
39
+ page_size: typing.Optional[int] = None,
40
+ remote_id: typing.Optional[str] = None,
41
+ request_options: typing.Optional[RequestOptions] = None,
42
+ ) -> PaginatedAttachmentList:
43
+ """
44
+ Returns a list of `Attachment` objects.
45
+
46
+ Parameters
47
+ ----------
48
+ created_after : typing.Optional[dt.datetime]
49
+ If provided, will only return objects created after this datetime.
50
+
51
+ created_before : typing.Optional[dt.datetime]
52
+ If provided, will only return objects created before this datetime.
53
+
54
+ cursor : typing.Optional[str]
55
+ The pagination cursor value.
56
+
57
+ include_deleted_data : typing.Optional[bool]
58
+ Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/).
59
+
60
+ include_remote_data : typing.Optional[bool]
61
+ Whether to include the original data Merge fetched from the third-party to produce these models.
62
+
63
+ include_shell_data : typing.Optional[bool]
64
+ Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
65
+
66
+ modified_after : typing.Optional[dt.datetime]
67
+ If provided, only objects synced by Merge after this date time will be returned.
68
+
69
+ modified_before : typing.Optional[dt.datetime]
70
+ If provided, only objects synced by Merge before this date time will be returned.
71
+
72
+ page_size : typing.Optional[int]
73
+ Number of results to return per page.
74
+
75
+ remote_id : typing.Optional[str]
76
+ The API provider's ID for the given object.
77
+
78
+ request_options : typing.Optional[RequestOptions]
79
+ Request-specific configuration.
80
+
81
+ Returns
82
+ -------
83
+ PaginatedAttachmentList
84
+
85
+
86
+ Examples
87
+ --------
88
+ from merge import Merge
89
+
90
+ client = Merge(
91
+ account_token="YOUR_ACCOUNT_TOKEN",
92
+ api_key="YOUR_API_KEY",
93
+ )
94
+ client.knowledgebase.attachments.list(
95
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
96
+ )
97
+ """
98
+ _response = self._raw_client.list(
99
+ created_after=created_after,
100
+ created_before=created_before,
101
+ cursor=cursor,
102
+ include_deleted_data=include_deleted_data,
103
+ include_remote_data=include_remote_data,
104
+ include_shell_data=include_shell_data,
105
+ modified_after=modified_after,
106
+ modified_before=modified_before,
107
+ page_size=page_size,
108
+ remote_id=remote_id,
109
+ request_options=request_options,
110
+ )
111
+ return _response.data
112
+
113
+ def retrieve(
114
+ self,
115
+ id: str,
116
+ *,
117
+ include_remote_data: typing.Optional[bool] = None,
118
+ include_shell_data: typing.Optional[bool] = None,
119
+ request_options: typing.Optional[RequestOptions] = None,
120
+ ) -> Attachment:
121
+ """
122
+ Returns an `Attachment` object with the given `id`.
123
+
124
+ Parameters
125
+ ----------
126
+ id : str
127
+
128
+ include_remote_data : typing.Optional[bool]
129
+ Whether to include the original data Merge fetched from the third-party to produce these models.
130
+
131
+ include_shell_data : typing.Optional[bool]
132
+ Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
133
+
134
+ request_options : typing.Optional[RequestOptions]
135
+ Request-specific configuration.
136
+
137
+ Returns
138
+ -------
139
+ Attachment
140
+
141
+
142
+ Examples
143
+ --------
144
+ from merge import Merge
145
+
146
+ client = Merge(
147
+ account_token="YOUR_ACCOUNT_TOKEN",
148
+ api_key="YOUR_API_KEY",
149
+ )
150
+ client.knowledgebase.attachments.retrieve(
151
+ id="id",
152
+ )
153
+ """
154
+ _response = self._raw_client.retrieve(
155
+ id,
156
+ include_remote_data=include_remote_data,
157
+ include_shell_data=include_shell_data,
158
+ request_options=request_options,
159
+ )
160
+ return _response.data
161
+
162
+
163
+ class AsyncAttachmentsClient:
164
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
165
+ self._raw_client = AsyncRawAttachmentsClient(client_wrapper=client_wrapper)
166
+
167
+ @property
168
+ def with_raw_response(self) -> AsyncRawAttachmentsClient:
169
+ """
170
+ Retrieves a raw implementation of this client that returns raw responses.
171
+
172
+ Returns
173
+ -------
174
+ AsyncRawAttachmentsClient
175
+ """
176
+ return self._raw_client
177
+
178
+ async def list(
179
+ self,
180
+ *,
181
+ created_after: typing.Optional[dt.datetime] = None,
182
+ created_before: typing.Optional[dt.datetime] = None,
183
+ cursor: typing.Optional[str] = None,
184
+ include_deleted_data: typing.Optional[bool] = None,
185
+ include_remote_data: typing.Optional[bool] = None,
186
+ include_shell_data: typing.Optional[bool] = None,
187
+ modified_after: typing.Optional[dt.datetime] = None,
188
+ modified_before: typing.Optional[dt.datetime] = None,
189
+ page_size: typing.Optional[int] = None,
190
+ remote_id: typing.Optional[str] = None,
191
+ request_options: typing.Optional[RequestOptions] = None,
192
+ ) -> PaginatedAttachmentList:
193
+ """
194
+ Returns a list of `Attachment` objects.
195
+
196
+ Parameters
197
+ ----------
198
+ created_after : typing.Optional[dt.datetime]
199
+ If provided, will only return objects created after this datetime.
200
+
201
+ created_before : typing.Optional[dt.datetime]
202
+ If provided, will only return objects created before this datetime.
203
+
204
+ cursor : typing.Optional[str]
205
+ The pagination cursor value.
206
+
207
+ include_deleted_data : typing.Optional[bool]
208
+ Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/).
209
+
210
+ include_remote_data : typing.Optional[bool]
211
+ Whether to include the original data Merge fetched from the third-party to produce these models.
212
+
213
+ include_shell_data : typing.Optional[bool]
214
+ Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
215
+
216
+ modified_after : typing.Optional[dt.datetime]
217
+ If provided, only objects synced by Merge after this date time will be returned.
218
+
219
+ modified_before : typing.Optional[dt.datetime]
220
+ If provided, only objects synced by Merge before this date time will be returned.
221
+
222
+ page_size : typing.Optional[int]
223
+ Number of results to return per page.
224
+
225
+ remote_id : typing.Optional[str]
226
+ The API provider's ID for the given object.
227
+
228
+ request_options : typing.Optional[RequestOptions]
229
+ Request-specific configuration.
230
+
231
+ Returns
232
+ -------
233
+ PaginatedAttachmentList
234
+
235
+
236
+ Examples
237
+ --------
238
+ import asyncio
239
+
240
+ from merge import AsyncMerge
241
+
242
+ client = AsyncMerge(
243
+ account_token="YOUR_ACCOUNT_TOKEN",
244
+ api_key="YOUR_API_KEY",
245
+ )
246
+
247
+
248
+ async def main() -> None:
249
+ await client.knowledgebase.attachments.list(
250
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
251
+ )
252
+
253
+
254
+ asyncio.run(main())
255
+ """
256
+ _response = await self._raw_client.list(
257
+ created_after=created_after,
258
+ created_before=created_before,
259
+ cursor=cursor,
260
+ include_deleted_data=include_deleted_data,
261
+ include_remote_data=include_remote_data,
262
+ include_shell_data=include_shell_data,
263
+ modified_after=modified_after,
264
+ modified_before=modified_before,
265
+ page_size=page_size,
266
+ remote_id=remote_id,
267
+ request_options=request_options,
268
+ )
269
+ return _response.data
270
+
271
+ async def retrieve(
272
+ self,
273
+ id: str,
274
+ *,
275
+ include_remote_data: typing.Optional[bool] = None,
276
+ include_shell_data: typing.Optional[bool] = None,
277
+ request_options: typing.Optional[RequestOptions] = None,
278
+ ) -> Attachment:
279
+ """
280
+ Returns an `Attachment` object with the given `id`.
281
+
282
+ Parameters
283
+ ----------
284
+ id : str
285
+
286
+ include_remote_data : typing.Optional[bool]
287
+ Whether to include the original data Merge fetched from the third-party to produce these models.
288
+
289
+ include_shell_data : typing.Optional[bool]
290
+ Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
291
+
292
+ request_options : typing.Optional[RequestOptions]
293
+ Request-specific configuration.
294
+
295
+ Returns
296
+ -------
297
+ Attachment
298
+
299
+
300
+ Examples
301
+ --------
302
+ import asyncio
303
+
304
+ from merge import AsyncMerge
305
+
306
+ client = AsyncMerge(
307
+ account_token="YOUR_ACCOUNT_TOKEN",
308
+ api_key="YOUR_API_KEY",
309
+ )
310
+
311
+
312
+ async def main() -> None:
313
+ await client.knowledgebase.attachments.retrieve(
314
+ id="id",
315
+ )
316
+
317
+
318
+ asyncio.run(main())
319
+ """
320
+ _response = await self._raw_client.retrieve(
321
+ id,
322
+ include_remote_data=include_remote_data,
323
+ include_shell_data=include_shell_data,
324
+ request_options=request_options,
325
+ )
326
+ return _response.data
@@ -0,0 +1,311 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+ from json.decoder import JSONDecodeError
6
+
7
+ from .....core.api_error import ApiError
8
+ from .....core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
9
+ from .....core.datetime_utils import serialize_datetime
10
+ from .....core.http_response import AsyncHttpResponse, HttpResponse
11
+ from .....core.jsonable_encoder import jsonable_encoder
12
+ from .....core.request_options import RequestOptions
13
+ from .....core.unchecked_base_model import construct_type
14
+ from ...types.attachment import Attachment
15
+ from ...types.paginated_attachment_list import PaginatedAttachmentList
16
+
17
+
18
+ class RawAttachmentsClient:
19
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
20
+ self._client_wrapper = client_wrapper
21
+
22
+ def list(
23
+ self,
24
+ *,
25
+ created_after: typing.Optional[dt.datetime] = None,
26
+ created_before: typing.Optional[dt.datetime] = None,
27
+ cursor: typing.Optional[str] = None,
28
+ include_deleted_data: typing.Optional[bool] = None,
29
+ include_remote_data: typing.Optional[bool] = None,
30
+ include_shell_data: typing.Optional[bool] = None,
31
+ modified_after: typing.Optional[dt.datetime] = None,
32
+ modified_before: typing.Optional[dt.datetime] = None,
33
+ page_size: typing.Optional[int] = None,
34
+ remote_id: typing.Optional[str] = None,
35
+ request_options: typing.Optional[RequestOptions] = None,
36
+ ) -> HttpResponse[PaginatedAttachmentList]:
37
+ """
38
+ Returns a list of `Attachment` objects.
39
+
40
+ Parameters
41
+ ----------
42
+ created_after : typing.Optional[dt.datetime]
43
+ If provided, will only return objects created after this datetime.
44
+
45
+ created_before : typing.Optional[dt.datetime]
46
+ If provided, will only return objects created before this datetime.
47
+
48
+ cursor : typing.Optional[str]
49
+ The pagination cursor value.
50
+
51
+ include_deleted_data : typing.Optional[bool]
52
+ Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/).
53
+
54
+ include_remote_data : typing.Optional[bool]
55
+ Whether to include the original data Merge fetched from the third-party to produce these models.
56
+
57
+ include_shell_data : typing.Optional[bool]
58
+ Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
59
+
60
+ modified_after : typing.Optional[dt.datetime]
61
+ If provided, only objects synced by Merge after this date time will be returned.
62
+
63
+ modified_before : typing.Optional[dt.datetime]
64
+ If provided, only objects synced by Merge before this date time will be returned.
65
+
66
+ page_size : typing.Optional[int]
67
+ Number of results to return per page.
68
+
69
+ remote_id : typing.Optional[str]
70
+ The API provider's ID for the given object.
71
+
72
+ request_options : typing.Optional[RequestOptions]
73
+ Request-specific configuration.
74
+
75
+ Returns
76
+ -------
77
+ HttpResponse[PaginatedAttachmentList]
78
+
79
+ """
80
+ _response = self._client_wrapper.httpx_client.request(
81
+ "knowledgebase/v1/attachments",
82
+ method="GET",
83
+ params={
84
+ "created_after": serialize_datetime(created_after) if created_after is not None else None,
85
+ "created_before": serialize_datetime(created_before) if created_before is not None else None,
86
+ "cursor": cursor,
87
+ "include_deleted_data": include_deleted_data,
88
+ "include_remote_data": include_remote_data,
89
+ "include_shell_data": include_shell_data,
90
+ "modified_after": serialize_datetime(modified_after) if modified_after is not None else None,
91
+ "modified_before": serialize_datetime(modified_before) if modified_before is not None else None,
92
+ "page_size": page_size,
93
+ "remote_id": remote_id,
94
+ },
95
+ request_options=request_options,
96
+ )
97
+ try:
98
+ if 200 <= _response.status_code < 300:
99
+ _data = typing.cast(
100
+ PaginatedAttachmentList,
101
+ construct_type(
102
+ type_=PaginatedAttachmentList, # type: ignore
103
+ object_=_response.json(),
104
+ ),
105
+ )
106
+ return HttpResponse(response=_response, data=_data)
107
+ _response_json = _response.json()
108
+ except JSONDecodeError:
109
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
110
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
111
+
112
+ def retrieve(
113
+ self,
114
+ id: str,
115
+ *,
116
+ include_remote_data: typing.Optional[bool] = None,
117
+ include_shell_data: typing.Optional[bool] = None,
118
+ request_options: typing.Optional[RequestOptions] = None,
119
+ ) -> HttpResponse[Attachment]:
120
+ """
121
+ Returns an `Attachment` object with the given `id`.
122
+
123
+ Parameters
124
+ ----------
125
+ id : str
126
+
127
+ include_remote_data : typing.Optional[bool]
128
+ Whether to include the original data Merge fetched from the third-party to produce these models.
129
+
130
+ include_shell_data : typing.Optional[bool]
131
+ Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
132
+
133
+ request_options : typing.Optional[RequestOptions]
134
+ Request-specific configuration.
135
+
136
+ Returns
137
+ -------
138
+ HttpResponse[Attachment]
139
+
140
+ """
141
+ _response = self._client_wrapper.httpx_client.request(
142
+ f"knowledgebase/v1/attachments/{jsonable_encoder(id)}",
143
+ method="GET",
144
+ params={
145
+ "include_remote_data": include_remote_data,
146
+ "include_shell_data": include_shell_data,
147
+ },
148
+ request_options=request_options,
149
+ )
150
+ try:
151
+ if 200 <= _response.status_code < 300:
152
+ _data = typing.cast(
153
+ Attachment,
154
+ construct_type(
155
+ type_=Attachment, # type: ignore
156
+ object_=_response.json(),
157
+ ),
158
+ )
159
+ return HttpResponse(response=_response, data=_data)
160
+ _response_json = _response.json()
161
+ except JSONDecodeError:
162
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
163
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
164
+
165
+
166
+ class AsyncRawAttachmentsClient:
167
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
168
+ self._client_wrapper = client_wrapper
169
+
170
+ async def list(
171
+ self,
172
+ *,
173
+ created_after: typing.Optional[dt.datetime] = None,
174
+ created_before: typing.Optional[dt.datetime] = None,
175
+ cursor: typing.Optional[str] = None,
176
+ include_deleted_data: typing.Optional[bool] = None,
177
+ include_remote_data: typing.Optional[bool] = None,
178
+ include_shell_data: typing.Optional[bool] = None,
179
+ modified_after: typing.Optional[dt.datetime] = None,
180
+ modified_before: typing.Optional[dt.datetime] = None,
181
+ page_size: typing.Optional[int] = None,
182
+ remote_id: typing.Optional[str] = None,
183
+ request_options: typing.Optional[RequestOptions] = None,
184
+ ) -> AsyncHttpResponse[PaginatedAttachmentList]:
185
+ """
186
+ Returns a list of `Attachment` objects.
187
+
188
+ Parameters
189
+ ----------
190
+ created_after : typing.Optional[dt.datetime]
191
+ If provided, will only return objects created after this datetime.
192
+
193
+ created_before : typing.Optional[dt.datetime]
194
+ If provided, will only return objects created before this datetime.
195
+
196
+ cursor : typing.Optional[str]
197
+ The pagination cursor value.
198
+
199
+ include_deleted_data : typing.Optional[bool]
200
+ Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/).
201
+
202
+ include_remote_data : typing.Optional[bool]
203
+ Whether to include the original data Merge fetched from the third-party to produce these models.
204
+
205
+ include_shell_data : typing.Optional[bool]
206
+ Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
207
+
208
+ modified_after : typing.Optional[dt.datetime]
209
+ If provided, only objects synced by Merge after this date time will be returned.
210
+
211
+ modified_before : typing.Optional[dt.datetime]
212
+ If provided, only objects synced by Merge before this date time will be returned.
213
+
214
+ page_size : typing.Optional[int]
215
+ Number of results to return per page.
216
+
217
+ remote_id : typing.Optional[str]
218
+ The API provider's ID for the given object.
219
+
220
+ request_options : typing.Optional[RequestOptions]
221
+ Request-specific configuration.
222
+
223
+ Returns
224
+ -------
225
+ AsyncHttpResponse[PaginatedAttachmentList]
226
+
227
+ """
228
+ _response = await self._client_wrapper.httpx_client.request(
229
+ "knowledgebase/v1/attachments",
230
+ method="GET",
231
+ params={
232
+ "created_after": serialize_datetime(created_after) if created_after is not None else None,
233
+ "created_before": serialize_datetime(created_before) if created_before is not None else None,
234
+ "cursor": cursor,
235
+ "include_deleted_data": include_deleted_data,
236
+ "include_remote_data": include_remote_data,
237
+ "include_shell_data": include_shell_data,
238
+ "modified_after": serialize_datetime(modified_after) if modified_after is not None else None,
239
+ "modified_before": serialize_datetime(modified_before) if modified_before is not None else None,
240
+ "page_size": page_size,
241
+ "remote_id": remote_id,
242
+ },
243
+ request_options=request_options,
244
+ )
245
+ try:
246
+ if 200 <= _response.status_code < 300:
247
+ _data = typing.cast(
248
+ PaginatedAttachmentList,
249
+ construct_type(
250
+ type_=PaginatedAttachmentList, # type: ignore
251
+ object_=_response.json(),
252
+ ),
253
+ )
254
+ return AsyncHttpResponse(response=_response, data=_data)
255
+ _response_json = _response.json()
256
+ except JSONDecodeError:
257
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
258
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
259
+
260
+ async def retrieve(
261
+ self,
262
+ id: str,
263
+ *,
264
+ include_remote_data: typing.Optional[bool] = None,
265
+ include_shell_data: typing.Optional[bool] = None,
266
+ request_options: typing.Optional[RequestOptions] = None,
267
+ ) -> AsyncHttpResponse[Attachment]:
268
+ """
269
+ Returns an `Attachment` object with the given `id`.
270
+
271
+ Parameters
272
+ ----------
273
+ id : str
274
+
275
+ include_remote_data : typing.Optional[bool]
276
+ Whether to include the original data Merge fetched from the third-party to produce these models.
277
+
278
+ include_shell_data : typing.Optional[bool]
279
+ Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
280
+
281
+ request_options : typing.Optional[RequestOptions]
282
+ Request-specific configuration.
283
+
284
+ Returns
285
+ -------
286
+ AsyncHttpResponse[Attachment]
287
+
288
+ """
289
+ _response = await self._client_wrapper.httpx_client.request(
290
+ f"knowledgebase/v1/attachments/{jsonable_encoder(id)}",
291
+ method="GET",
292
+ params={
293
+ "include_remote_data": include_remote_data,
294
+ "include_shell_data": include_shell_data,
295
+ },
296
+ request_options=request_options,
297
+ )
298
+ try:
299
+ if 200 <= _response.status_code < 300:
300
+ _data = typing.cast(
301
+ Attachment,
302
+ construct_type(
303
+ type_=Attachment, # type: ignore
304
+ object_=_response.json(),
305
+ ),
306
+ )
307
+ return AsyncHttpResponse(response=_response, data=_data)
308
+ _response_json = _response.json()
309
+ except JSONDecodeError:
310
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
311
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
@@ -0,0 +1,4 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ # isort: skip_file
4
+