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.paginated_user_list import PaginatedUserList
9
+ from ...types.user import User
10
+ from .raw_client import AsyncRawUsersClient, RawUsersClient
11
+
12
+
13
+ class UsersClient:
14
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
15
+ self._raw_client = RawUsersClient(client_wrapper=client_wrapper)
16
+
17
+ @property
18
+ def with_raw_response(self) -> RawUsersClient:
19
+ """
20
+ Retrieves a raw implementation of this client that returns raw responses.
21
+
22
+ Returns
23
+ -------
24
+ RawUsersClient
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
+ ) -> PaginatedUserList:
43
+ """
44
+ Returns a list of `User` 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
+ PaginatedUserList
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.users.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
+ ) -> User:
121
+ """
122
+ Returns a `User` 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
+ User
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.users.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 AsyncUsersClient:
164
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
165
+ self._raw_client = AsyncRawUsersClient(client_wrapper=client_wrapper)
166
+
167
+ @property
168
+ def with_raw_response(self) -> AsyncRawUsersClient:
169
+ """
170
+ Retrieves a raw implementation of this client that returns raw responses.
171
+
172
+ Returns
173
+ -------
174
+ AsyncRawUsersClient
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
+ ) -> PaginatedUserList:
193
+ """
194
+ Returns a list of `User` 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
+ PaginatedUserList
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.users.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
+ ) -> User:
279
+ """
280
+ Returns a `User` 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
+ User
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.users.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.paginated_user_list import PaginatedUserList
15
+ from ...types.user import User
16
+
17
+
18
+ class RawUsersClient:
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[PaginatedUserList]:
37
+ """
38
+ Returns a list of `User` 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[PaginatedUserList]
78
+
79
+ """
80
+ _response = self._client_wrapper.httpx_client.request(
81
+ "knowledgebase/v1/users",
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
+ PaginatedUserList,
101
+ construct_type(
102
+ type_=PaginatedUserList, # 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[User]:
120
+ """
121
+ Returns a `User` 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[User]
139
+
140
+ """
141
+ _response = self._client_wrapper.httpx_client.request(
142
+ f"knowledgebase/v1/users/{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
+ User,
154
+ construct_type(
155
+ type_=User, # 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 AsyncRawUsersClient:
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[PaginatedUserList]:
185
+ """
186
+ Returns a list of `User` 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[PaginatedUserList]
226
+
227
+ """
228
+ _response = await self._client_wrapper.httpx_client.request(
229
+ "knowledgebase/v1/users",
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
+ PaginatedUserList,
249
+ construct_type(
250
+ type_=PaginatedUserList, # 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[User]:
268
+ """
269
+ Returns a `User` 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[User]
287
+
288
+ """
289
+ _response = await self._client_wrapper.httpx_client.request(
290
+ f"knowledgebase/v1/users/{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
+ User,
302
+ construct_type(
303
+ type_=User, # 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
+