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,348 @@
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.group import Group
9
+ from ...types.paginated_group_list import PaginatedGroupList
10
+ from .raw_client import AsyncRawGroupsClient, RawGroupsClient
11
+ from .types.groups_list_request_expand import GroupsListRequestExpand
12
+ from .types.groups_retrieve_request_expand import GroupsRetrieveRequestExpand
13
+
14
+
15
+ class GroupsClient:
16
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
17
+ self._raw_client = RawGroupsClient(client_wrapper=client_wrapper)
18
+
19
+ @property
20
+ def with_raw_response(self) -> RawGroupsClient:
21
+ """
22
+ Retrieves a raw implementation of this client that returns raw responses.
23
+
24
+ Returns
25
+ -------
26
+ RawGroupsClient
27
+ """
28
+ return self._raw_client
29
+
30
+ def list(
31
+ self,
32
+ *,
33
+ created_after: typing.Optional[dt.datetime] = None,
34
+ created_before: typing.Optional[dt.datetime] = None,
35
+ cursor: typing.Optional[str] = None,
36
+ expand: typing.Optional[GroupsListRequestExpand] = None,
37
+ include_deleted_data: typing.Optional[bool] = None,
38
+ include_remote_data: typing.Optional[bool] = None,
39
+ include_shell_data: typing.Optional[bool] = None,
40
+ modified_after: typing.Optional[dt.datetime] = None,
41
+ modified_before: typing.Optional[dt.datetime] = None,
42
+ page_size: typing.Optional[int] = None,
43
+ remote_id: typing.Optional[str] = None,
44
+ request_options: typing.Optional[RequestOptions] = None,
45
+ ) -> PaginatedGroupList:
46
+ """
47
+ Returns a list of `Group` objects.
48
+
49
+ Parameters
50
+ ----------
51
+ created_after : typing.Optional[dt.datetime]
52
+ If provided, will only return objects created after this datetime.
53
+
54
+ created_before : typing.Optional[dt.datetime]
55
+ If provided, will only return objects created before this datetime.
56
+
57
+ cursor : typing.Optional[str]
58
+ The pagination cursor value.
59
+
60
+ expand : typing.Optional[GroupsListRequestExpand]
61
+ Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces.
62
+
63
+ include_deleted_data : typing.Optional[bool]
64
+ 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/).
65
+
66
+ include_remote_data : typing.Optional[bool]
67
+ Whether to include the original data Merge fetched from the third-party to produce these models.
68
+
69
+ include_shell_data : typing.Optional[bool]
70
+ Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
71
+
72
+ modified_after : typing.Optional[dt.datetime]
73
+ If provided, only objects synced by Merge after this date time will be returned.
74
+
75
+ modified_before : typing.Optional[dt.datetime]
76
+ If provided, only objects synced by Merge before this date time will be returned.
77
+
78
+ page_size : typing.Optional[int]
79
+ Number of results to return per page.
80
+
81
+ remote_id : typing.Optional[str]
82
+ The API provider's ID for the given object.
83
+
84
+ request_options : typing.Optional[RequestOptions]
85
+ Request-specific configuration.
86
+
87
+ Returns
88
+ -------
89
+ PaginatedGroupList
90
+
91
+
92
+ Examples
93
+ --------
94
+ from merge import Merge
95
+
96
+ client = Merge(
97
+ account_token="YOUR_ACCOUNT_TOKEN",
98
+ api_key="YOUR_API_KEY",
99
+ )
100
+ client.knowledgebase.groups.list(
101
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
102
+ )
103
+ """
104
+ _response = self._raw_client.list(
105
+ created_after=created_after,
106
+ created_before=created_before,
107
+ cursor=cursor,
108
+ expand=expand,
109
+ include_deleted_data=include_deleted_data,
110
+ include_remote_data=include_remote_data,
111
+ include_shell_data=include_shell_data,
112
+ modified_after=modified_after,
113
+ modified_before=modified_before,
114
+ page_size=page_size,
115
+ remote_id=remote_id,
116
+ request_options=request_options,
117
+ )
118
+ return _response.data
119
+
120
+ def retrieve(
121
+ self,
122
+ id: str,
123
+ *,
124
+ expand: typing.Optional[GroupsRetrieveRequestExpand] = None,
125
+ include_remote_data: typing.Optional[bool] = None,
126
+ include_shell_data: typing.Optional[bool] = None,
127
+ request_options: typing.Optional[RequestOptions] = None,
128
+ ) -> Group:
129
+ """
130
+ Returns a `Group` object with the given `id`.
131
+
132
+ Parameters
133
+ ----------
134
+ id : str
135
+
136
+ expand : typing.Optional[GroupsRetrieveRequestExpand]
137
+ Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces.
138
+
139
+ include_remote_data : typing.Optional[bool]
140
+ Whether to include the original data Merge fetched from the third-party to produce these models.
141
+
142
+ include_shell_data : typing.Optional[bool]
143
+ Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
144
+
145
+ request_options : typing.Optional[RequestOptions]
146
+ Request-specific configuration.
147
+
148
+ Returns
149
+ -------
150
+ Group
151
+
152
+
153
+ Examples
154
+ --------
155
+ from merge import Merge
156
+
157
+ client = Merge(
158
+ account_token="YOUR_ACCOUNT_TOKEN",
159
+ api_key="YOUR_API_KEY",
160
+ )
161
+ client.knowledgebase.groups.retrieve(
162
+ id="id",
163
+ )
164
+ """
165
+ _response = self._raw_client.retrieve(
166
+ id,
167
+ expand=expand,
168
+ include_remote_data=include_remote_data,
169
+ include_shell_data=include_shell_data,
170
+ request_options=request_options,
171
+ )
172
+ return _response.data
173
+
174
+
175
+ class AsyncGroupsClient:
176
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
177
+ self._raw_client = AsyncRawGroupsClient(client_wrapper=client_wrapper)
178
+
179
+ @property
180
+ def with_raw_response(self) -> AsyncRawGroupsClient:
181
+ """
182
+ Retrieves a raw implementation of this client that returns raw responses.
183
+
184
+ Returns
185
+ -------
186
+ AsyncRawGroupsClient
187
+ """
188
+ return self._raw_client
189
+
190
+ async def list(
191
+ self,
192
+ *,
193
+ created_after: typing.Optional[dt.datetime] = None,
194
+ created_before: typing.Optional[dt.datetime] = None,
195
+ cursor: typing.Optional[str] = None,
196
+ expand: typing.Optional[GroupsListRequestExpand] = None,
197
+ include_deleted_data: typing.Optional[bool] = None,
198
+ include_remote_data: typing.Optional[bool] = None,
199
+ include_shell_data: typing.Optional[bool] = None,
200
+ modified_after: typing.Optional[dt.datetime] = None,
201
+ modified_before: typing.Optional[dt.datetime] = None,
202
+ page_size: typing.Optional[int] = None,
203
+ remote_id: typing.Optional[str] = None,
204
+ request_options: typing.Optional[RequestOptions] = None,
205
+ ) -> PaginatedGroupList:
206
+ """
207
+ Returns a list of `Group` objects.
208
+
209
+ Parameters
210
+ ----------
211
+ created_after : typing.Optional[dt.datetime]
212
+ If provided, will only return objects created after this datetime.
213
+
214
+ created_before : typing.Optional[dt.datetime]
215
+ If provided, will only return objects created before this datetime.
216
+
217
+ cursor : typing.Optional[str]
218
+ The pagination cursor value.
219
+
220
+ expand : typing.Optional[GroupsListRequestExpand]
221
+ Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces.
222
+
223
+ include_deleted_data : typing.Optional[bool]
224
+ 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/).
225
+
226
+ include_remote_data : typing.Optional[bool]
227
+ Whether to include the original data Merge fetched from the third-party to produce these models.
228
+
229
+ include_shell_data : typing.Optional[bool]
230
+ Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
231
+
232
+ modified_after : typing.Optional[dt.datetime]
233
+ If provided, only objects synced by Merge after this date time will be returned.
234
+
235
+ modified_before : typing.Optional[dt.datetime]
236
+ If provided, only objects synced by Merge before this date time will be returned.
237
+
238
+ page_size : typing.Optional[int]
239
+ Number of results to return per page.
240
+
241
+ remote_id : typing.Optional[str]
242
+ The API provider's ID for the given object.
243
+
244
+ request_options : typing.Optional[RequestOptions]
245
+ Request-specific configuration.
246
+
247
+ Returns
248
+ -------
249
+ PaginatedGroupList
250
+
251
+
252
+ Examples
253
+ --------
254
+ import asyncio
255
+
256
+ from merge import AsyncMerge
257
+
258
+ client = AsyncMerge(
259
+ account_token="YOUR_ACCOUNT_TOKEN",
260
+ api_key="YOUR_API_KEY",
261
+ )
262
+
263
+
264
+ async def main() -> None:
265
+ await client.knowledgebase.groups.list(
266
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
267
+ )
268
+
269
+
270
+ asyncio.run(main())
271
+ """
272
+ _response = await self._raw_client.list(
273
+ created_after=created_after,
274
+ created_before=created_before,
275
+ cursor=cursor,
276
+ expand=expand,
277
+ include_deleted_data=include_deleted_data,
278
+ include_remote_data=include_remote_data,
279
+ include_shell_data=include_shell_data,
280
+ modified_after=modified_after,
281
+ modified_before=modified_before,
282
+ page_size=page_size,
283
+ remote_id=remote_id,
284
+ request_options=request_options,
285
+ )
286
+ return _response.data
287
+
288
+ async def retrieve(
289
+ self,
290
+ id: str,
291
+ *,
292
+ expand: typing.Optional[GroupsRetrieveRequestExpand] = None,
293
+ include_remote_data: typing.Optional[bool] = None,
294
+ include_shell_data: typing.Optional[bool] = None,
295
+ request_options: typing.Optional[RequestOptions] = None,
296
+ ) -> Group:
297
+ """
298
+ Returns a `Group` object with the given `id`.
299
+
300
+ Parameters
301
+ ----------
302
+ id : str
303
+
304
+ expand : typing.Optional[GroupsRetrieveRequestExpand]
305
+ Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces.
306
+
307
+ include_remote_data : typing.Optional[bool]
308
+ Whether to include the original data Merge fetched from the third-party to produce these models.
309
+
310
+ include_shell_data : typing.Optional[bool]
311
+ Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
312
+
313
+ request_options : typing.Optional[RequestOptions]
314
+ Request-specific configuration.
315
+
316
+ Returns
317
+ -------
318
+ Group
319
+
320
+
321
+ Examples
322
+ --------
323
+ import asyncio
324
+
325
+ from merge import AsyncMerge
326
+
327
+ client = AsyncMerge(
328
+ account_token="YOUR_ACCOUNT_TOKEN",
329
+ api_key="YOUR_API_KEY",
330
+ )
331
+
332
+
333
+ async def main() -> None:
334
+ await client.knowledgebase.groups.retrieve(
335
+ id="id",
336
+ )
337
+
338
+
339
+ asyncio.run(main())
340
+ """
341
+ _response = await self._raw_client.retrieve(
342
+ id,
343
+ expand=expand,
344
+ include_remote_data=include_remote_data,
345
+ include_shell_data=include_shell_data,
346
+ request_options=request_options,
347
+ )
348
+ return _response.data
@@ -0,0 +1,333 @@
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.group import Group
15
+ from ...types.paginated_group_list import PaginatedGroupList
16
+ from .types.groups_list_request_expand import GroupsListRequestExpand
17
+ from .types.groups_retrieve_request_expand import GroupsRetrieveRequestExpand
18
+
19
+
20
+ class RawGroupsClient:
21
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
22
+ self._client_wrapper = client_wrapper
23
+
24
+ def list(
25
+ self,
26
+ *,
27
+ created_after: typing.Optional[dt.datetime] = None,
28
+ created_before: typing.Optional[dt.datetime] = None,
29
+ cursor: typing.Optional[str] = None,
30
+ expand: typing.Optional[GroupsListRequestExpand] = None,
31
+ include_deleted_data: typing.Optional[bool] = None,
32
+ include_remote_data: typing.Optional[bool] = None,
33
+ include_shell_data: typing.Optional[bool] = None,
34
+ modified_after: typing.Optional[dt.datetime] = None,
35
+ modified_before: typing.Optional[dt.datetime] = None,
36
+ page_size: typing.Optional[int] = None,
37
+ remote_id: typing.Optional[str] = None,
38
+ request_options: typing.Optional[RequestOptions] = None,
39
+ ) -> HttpResponse[PaginatedGroupList]:
40
+ """
41
+ Returns a list of `Group` objects.
42
+
43
+ Parameters
44
+ ----------
45
+ created_after : typing.Optional[dt.datetime]
46
+ If provided, will only return objects created after this datetime.
47
+
48
+ created_before : typing.Optional[dt.datetime]
49
+ If provided, will only return objects created before this datetime.
50
+
51
+ cursor : typing.Optional[str]
52
+ The pagination cursor value.
53
+
54
+ expand : typing.Optional[GroupsListRequestExpand]
55
+ Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces.
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
+ HttpResponse[PaginatedGroupList]
84
+
85
+ """
86
+ _response = self._client_wrapper.httpx_client.request(
87
+ "knowledgebase/v1/groups",
88
+ method="GET",
89
+ params={
90
+ "created_after": serialize_datetime(created_after) if created_after is not None else None,
91
+ "created_before": serialize_datetime(created_before) if created_before is not None else None,
92
+ "cursor": cursor,
93
+ "expand": expand,
94
+ "include_deleted_data": include_deleted_data,
95
+ "include_remote_data": include_remote_data,
96
+ "include_shell_data": include_shell_data,
97
+ "modified_after": serialize_datetime(modified_after) if modified_after is not None else None,
98
+ "modified_before": serialize_datetime(modified_before) if modified_before is not None else None,
99
+ "page_size": page_size,
100
+ "remote_id": remote_id,
101
+ },
102
+ request_options=request_options,
103
+ )
104
+ try:
105
+ if 200 <= _response.status_code < 300:
106
+ _data = typing.cast(
107
+ PaginatedGroupList,
108
+ construct_type(
109
+ type_=PaginatedGroupList, # type: ignore
110
+ object_=_response.json(),
111
+ ),
112
+ )
113
+ return HttpResponse(response=_response, data=_data)
114
+ _response_json = _response.json()
115
+ except JSONDecodeError:
116
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
117
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
118
+
119
+ def retrieve(
120
+ self,
121
+ id: str,
122
+ *,
123
+ expand: typing.Optional[GroupsRetrieveRequestExpand] = None,
124
+ include_remote_data: typing.Optional[bool] = None,
125
+ include_shell_data: typing.Optional[bool] = None,
126
+ request_options: typing.Optional[RequestOptions] = None,
127
+ ) -> HttpResponse[Group]:
128
+ """
129
+ Returns a `Group` object with the given `id`.
130
+
131
+ Parameters
132
+ ----------
133
+ id : str
134
+
135
+ expand : typing.Optional[GroupsRetrieveRequestExpand]
136
+ Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces.
137
+
138
+ include_remote_data : typing.Optional[bool]
139
+ Whether to include the original data Merge fetched from the third-party to produce these models.
140
+
141
+ include_shell_data : typing.Optional[bool]
142
+ Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
143
+
144
+ request_options : typing.Optional[RequestOptions]
145
+ Request-specific configuration.
146
+
147
+ Returns
148
+ -------
149
+ HttpResponse[Group]
150
+
151
+ """
152
+ _response = self._client_wrapper.httpx_client.request(
153
+ f"knowledgebase/v1/groups/{jsonable_encoder(id)}",
154
+ method="GET",
155
+ params={
156
+ "expand": expand,
157
+ "include_remote_data": include_remote_data,
158
+ "include_shell_data": include_shell_data,
159
+ },
160
+ request_options=request_options,
161
+ )
162
+ try:
163
+ if 200 <= _response.status_code < 300:
164
+ _data = typing.cast(
165
+ Group,
166
+ construct_type(
167
+ type_=Group, # type: ignore
168
+ object_=_response.json(),
169
+ ),
170
+ )
171
+ return HttpResponse(response=_response, data=_data)
172
+ _response_json = _response.json()
173
+ except JSONDecodeError:
174
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
175
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
176
+
177
+
178
+ class AsyncRawGroupsClient:
179
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
180
+ self._client_wrapper = client_wrapper
181
+
182
+ async def list(
183
+ self,
184
+ *,
185
+ created_after: typing.Optional[dt.datetime] = None,
186
+ created_before: typing.Optional[dt.datetime] = None,
187
+ cursor: typing.Optional[str] = None,
188
+ expand: typing.Optional[GroupsListRequestExpand] = None,
189
+ include_deleted_data: typing.Optional[bool] = None,
190
+ include_remote_data: typing.Optional[bool] = None,
191
+ include_shell_data: typing.Optional[bool] = None,
192
+ modified_after: typing.Optional[dt.datetime] = None,
193
+ modified_before: typing.Optional[dt.datetime] = None,
194
+ page_size: typing.Optional[int] = None,
195
+ remote_id: typing.Optional[str] = None,
196
+ request_options: typing.Optional[RequestOptions] = None,
197
+ ) -> AsyncHttpResponse[PaginatedGroupList]:
198
+ """
199
+ Returns a list of `Group` objects.
200
+
201
+ Parameters
202
+ ----------
203
+ created_after : typing.Optional[dt.datetime]
204
+ If provided, will only return objects created after this datetime.
205
+
206
+ created_before : typing.Optional[dt.datetime]
207
+ If provided, will only return objects created before this datetime.
208
+
209
+ cursor : typing.Optional[str]
210
+ The pagination cursor value.
211
+
212
+ expand : typing.Optional[GroupsListRequestExpand]
213
+ Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces.
214
+
215
+ include_deleted_data : typing.Optional[bool]
216
+ 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/).
217
+
218
+ include_remote_data : typing.Optional[bool]
219
+ Whether to include the original data Merge fetched from the third-party to produce these models.
220
+
221
+ include_shell_data : typing.Optional[bool]
222
+ Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
223
+
224
+ modified_after : typing.Optional[dt.datetime]
225
+ If provided, only objects synced by Merge after this date time will be returned.
226
+
227
+ modified_before : typing.Optional[dt.datetime]
228
+ If provided, only objects synced by Merge before this date time will be returned.
229
+
230
+ page_size : typing.Optional[int]
231
+ Number of results to return per page.
232
+
233
+ remote_id : typing.Optional[str]
234
+ The API provider's ID for the given object.
235
+
236
+ request_options : typing.Optional[RequestOptions]
237
+ Request-specific configuration.
238
+
239
+ Returns
240
+ -------
241
+ AsyncHttpResponse[PaginatedGroupList]
242
+
243
+ """
244
+ _response = await self._client_wrapper.httpx_client.request(
245
+ "knowledgebase/v1/groups",
246
+ method="GET",
247
+ params={
248
+ "created_after": serialize_datetime(created_after) if created_after is not None else None,
249
+ "created_before": serialize_datetime(created_before) if created_before is not None else None,
250
+ "cursor": cursor,
251
+ "expand": expand,
252
+ "include_deleted_data": include_deleted_data,
253
+ "include_remote_data": include_remote_data,
254
+ "include_shell_data": include_shell_data,
255
+ "modified_after": serialize_datetime(modified_after) if modified_after is not None else None,
256
+ "modified_before": serialize_datetime(modified_before) if modified_before is not None else None,
257
+ "page_size": page_size,
258
+ "remote_id": remote_id,
259
+ },
260
+ request_options=request_options,
261
+ )
262
+ try:
263
+ if 200 <= _response.status_code < 300:
264
+ _data = typing.cast(
265
+ PaginatedGroupList,
266
+ construct_type(
267
+ type_=PaginatedGroupList, # type: ignore
268
+ object_=_response.json(),
269
+ ),
270
+ )
271
+ return AsyncHttpResponse(response=_response, data=_data)
272
+ _response_json = _response.json()
273
+ except JSONDecodeError:
274
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
275
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
276
+
277
+ async def retrieve(
278
+ self,
279
+ id: str,
280
+ *,
281
+ expand: typing.Optional[GroupsRetrieveRequestExpand] = None,
282
+ include_remote_data: typing.Optional[bool] = None,
283
+ include_shell_data: typing.Optional[bool] = None,
284
+ request_options: typing.Optional[RequestOptions] = None,
285
+ ) -> AsyncHttpResponse[Group]:
286
+ """
287
+ Returns a `Group` object with the given `id`.
288
+
289
+ Parameters
290
+ ----------
291
+ id : str
292
+
293
+ expand : typing.Optional[GroupsRetrieveRequestExpand]
294
+ Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces.
295
+
296
+ include_remote_data : typing.Optional[bool]
297
+ Whether to include the original data Merge fetched from the third-party to produce these models.
298
+
299
+ include_shell_data : typing.Optional[bool]
300
+ Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
301
+
302
+ request_options : typing.Optional[RequestOptions]
303
+ Request-specific configuration.
304
+
305
+ Returns
306
+ -------
307
+ AsyncHttpResponse[Group]
308
+
309
+ """
310
+ _response = await self._client_wrapper.httpx_client.request(
311
+ f"knowledgebase/v1/groups/{jsonable_encoder(id)}",
312
+ method="GET",
313
+ params={
314
+ "expand": expand,
315
+ "include_remote_data": include_remote_data,
316
+ "include_shell_data": include_shell_data,
317
+ },
318
+ request_options=request_options,
319
+ )
320
+ try:
321
+ if 200 <= _response.status_code < 300:
322
+ _data = typing.cast(
323
+ Group,
324
+ construct_type(
325
+ type_=Group, # type: ignore
326
+ object_=_response.json(),
327
+ ),
328
+ )
329
+ return AsyncHttpResponse(response=_response, data=_data)
330
+ _response_json = _response.json()
331
+ except JSONDecodeError:
332
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
333
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)