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,267 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from json.decoder import JSONDecodeError
5
+
6
+ from .....core.api_error import ApiError
7
+ from .....core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
8
+ from .....core.http_response import AsyncHttpResponse, HttpResponse
9
+ from .....core.request_options import RequestOptions
10
+ from .....core.unchecked_base_model import construct_type
11
+ from ...types.common_model_scope_api import CommonModelScopeApi
12
+ from ...types.individual_common_model_scope_deserializer_request import IndividualCommonModelScopeDeserializerRequest
13
+
14
+ # this is used as the default value for optional parameters
15
+ OMIT = typing.cast(typing.Any, ...)
16
+
17
+
18
+ class RawScopesClient:
19
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
20
+ self._client_wrapper = client_wrapper
21
+
22
+ def default_scopes_retrieve(
23
+ self, *, request_options: typing.Optional[RequestOptions] = None
24
+ ) -> HttpResponse[CommonModelScopeApi]:
25
+ """
26
+ Get the default permissions for Merge Common Models and fields across all Linked Accounts of a given category. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes).
27
+
28
+ Parameters
29
+ ----------
30
+ request_options : typing.Optional[RequestOptions]
31
+ Request-specific configuration.
32
+
33
+ Returns
34
+ -------
35
+ HttpResponse[CommonModelScopeApi]
36
+
37
+ """
38
+ _response = self._client_wrapper.httpx_client.request(
39
+ "knowledgebase/v1/default-scopes",
40
+ method="GET",
41
+ request_options=request_options,
42
+ )
43
+ try:
44
+ if 200 <= _response.status_code < 300:
45
+ _data = typing.cast(
46
+ CommonModelScopeApi,
47
+ construct_type(
48
+ type_=CommonModelScopeApi, # type: ignore
49
+ object_=_response.json(),
50
+ ),
51
+ )
52
+ return HttpResponse(response=_response, data=_data)
53
+ _response_json = _response.json()
54
+ except JSONDecodeError:
55
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
56
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
57
+
58
+ def linked_account_scopes_retrieve(
59
+ self, *, request_options: typing.Optional[RequestOptions] = None
60
+ ) -> HttpResponse[CommonModelScopeApi]:
61
+ """
62
+ Get all available permissions for Merge Common Models and fields for a single Linked Account. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes).
63
+
64
+ Parameters
65
+ ----------
66
+ request_options : typing.Optional[RequestOptions]
67
+ Request-specific configuration.
68
+
69
+ Returns
70
+ -------
71
+ HttpResponse[CommonModelScopeApi]
72
+
73
+ """
74
+ _response = self._client_wrapper.httpx_client.request(
75
+ "knowledgebase/v1/linked-account-scopes",
76
+ method="GET",
77
+ request_options=request_options,
78
+ )
79
+ try:
80
+ if 200 <= _response.status_code < 300:
81
+ _data = typing.cast(
82
+ CommonModelScopeApi,
83
+ construct_type(
84
+ type_=CommonModelScopeApi, # type: ignore
85
+ object_=_response.json(),
86
+ ),
87
+ )
88
+ return HttpResponse(response=_response, data=_data)
89
+ _response_json = _response.json()
90
+ except JSONDecodeError:
91
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
92
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
93
+
94
+ def linked_account_scopes_create(
95
+ self,
96
+ *,
97
+ common_models: typing.Sequence[IndividualCommonModelScopeDeserializerRequest],
98
+ request_options: typing.Optional[RequestOptions] = None,
99
+ ) -> HttpResponse[CommonModelScopeApi]:
100
+ """
101
+ Update permissions for any Common Model or field for a single Linked Account. Any Scopes not set in this POST request will inherit the default Scopes. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes)
102
+
103
+ Parameters
104
+ ----------
105
+ common_models : typing.Sequence[IndividualCommonModelScopeDeserializerRequest]
106
+ The common models you want to update the scopes for
107
+
108
+ request_options : typing.Optional[RequestOptions]
109
+ Request-specific configuration.
110
+
111
+ Returns
112
+ -------
113
+ HttpResponse[CommonModelScopeApi]
114
+
115
+ """
116
+ _response = self._client_wrapper.httpx_client.request(
117
+ "knowledgebase/v1/linked-account-scopes",
118
+ method="POST",
119
+ json={
120
+ "common_models": common_models,
121
+ },
122
+ headers={
123
+ "content-type": "application/json",
124
+ },
125
+ request_options=request_options,
126
+ omit=OMIT,
127
+ )
128
+ try:
129
+ if 200 <= _response.status_code < 300:
130
+ _data = typing.cast(
131
+ CommonModelScopeApi,
132
+ construct_type(
133
+ type_=CommonModelScopeApi, # type: ignore
134
+ object_=_response.json(),
135
+ ),
136
+ )
137
+ return HttpResponse(response=_response, data=_data)
138
+ _response_json = _response.json()
139
+ except JSONDecodeError:
140
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
141
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
142
+
143
+
144
+ class AsyncRawScopesClient:
145
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
146
+ self._client_wrapper = client_wrapper
147
+
148
+ async def default_scopes_retrieve(
149
+ self, *, request_options: typing.Optional[RequestOptions] = None
150
+ ) -> AsyncHttpResponse[CommonModelScopeApi]:
151
+ """
152
+ Get the default permissions for Merge Common Models and fields across all Linked Accounts of a given category. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes).
153
+
154
+ Parameters
155
+ ----------
156
+ request_options : typing.Optional[RequestOptions]
157
+ Request-specific configuration.
158
+
159
+ Returns
160
+ -------
161
+ AsyncHttpResponse[CommonModelScopeApi]
162
+
163
+ """
164
+ _response = await self._client_wrapper.httpx_client.request(
165
+ "knowledgebase/v1/default-scopes",
166
+ method="GET",
167
+ request_options=request_options,
168
+ )
169
+ try:
170
+ if 200 <= _response.status_code < 300:
171
+ _data = typing.cast(
172
+ CommonModelScopeApi,
173
+ construct_type(
174
+ type_=CommonModelScopeApi, # type: ignore
175
+ object_=_response.json(),
176
+ ),
177
+ )
178
+ return AsyncHttpResponse(response=_response, data=_data)
179
+ _response_json = _response.json()
180
+ except JSONDecodeError:
181
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
182
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
183
+
184
+ async def linked_account_scopes_retrieve(
185
+ self, *, request_options: typing.Optional[RequestOptions] = None
186
+ ) -> AsyncHttpResponse[CommonModelScopeApi]:
187
+ """
188
+ Get all available permissions for Merge Common Models and fields for a single Linked Account. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes).
189
+
190
+ Parameters
191
+ ----------
192
+ request_options : typing.Optional[RequestOptions]
193
+ Request-specific configuration.
194
+
195
+ Returns
196
+ -------
197
+ AsyncHttpResponse[CommonModelScopeApi]
198
+
199
+ """
200
+ _response = await self._client_wrapper.httpx_client.request(
201
+ "knowledgebase/v1/linked-account-scopes",
202
+ method="GET",
203
+ request_options=request_options,
204
+ )
205
+ try:
206
+ if 200 <= _response.status_code < 300:
207
+ _data = typing.cast(
208
+ CommonModelScopeApi,
209
+ construct_type(
210
+ type_=CommonModelScopeApi, # type: ignore
211
+ object_=_response.json(),
212
+ ),
213
+ )
214
+ return AsyncHttpResponse(response=_response, data=_data)
215
+ _response_json = _response.json()
216
+ except JSONDecodeError:
217
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
218
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
219
+
220
+ async def linked_account_scopes_create(
221
+ self,
222
+ *,
223
+ common_models: typing.Sequence[IndividualCommonModelScopeDeserializerRequest],
224
+ request_options: typing.Optional[RequestOptions] = None,
225
+ ) -> AsyncHttpResponse[CommonModelScopeApi]:
226
+ """
227
+ Update permissions for any Common Model or field for a single Linked Account. Any Scopes not set in this POST request will inherit the default Scopes. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes)
228
+
229
+ Parameters
230
+ ----------
231
+ common_models : typing.Sequence[IndividualCommonModelScopeDeserializerRequest]
232
+ The common models you want to update the scopes for
233
+
234
+ request_options : typing.Optional[RequestOptions]
235
+ Request-specific configuration.
236
+
237
+ Returns
238
+ -------
239
+ AsyncHttpResponse[CommonModelScopeApi]
240
+
241
+ """
242
+ _response = await self._client_wrapper.httpx_client.request(
243
+ "knowledgebase/v1/linked-account-scopes",
244
+ method="POST",
245
+ json={
246
+ "common_models": common_models,
247
+ },
248
+ headers={
249
+ "content-type": "application/json",
250
+ },
251
+ request_options=request_options,
252
+ omit=OMIT,
253
+ )
254
+ try:
255
+ if 200 <= _response.status_code < 300:
256
+ _data = typing.cast(
257
+ CommonModelScopeApi,
258
+ construct_type(
259
+ type_=CommonModelScopeApi, # type: ignore
260
+ object_=_response.json(),
261
+ ),
262
+ )
263
+ return AsyncHttpResponse(response=_response, data=_data)
264
+ _response_json = _response.json()
265
+ except JSONDecodeError:
266
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
267
+ 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
+
@@ -0,0 +1,130 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ from .....core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
+ from .....core.request_options import RequestOptions
7
+ from ...types.paginated_sync_status_list import PaginatedSyncStatusList
8
+ from .raw_client import AsyncRawSyncStatusClient, RawSyncStatusClient
9
+
10
+
11
+ class SyncStatusClient:
12
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
13
+ self._raw_client = RawSyncStatusClient(client_wrapper=client_wrapper)
14
+
15
+ @property
16
+ def with_raw_response(self) -> RawSyncStatusClient:
17
+ """
18
+ Retrieves a raw implementation of this client that returns raw responses.
19
+
20
+ Returns
21
+ -------
22
+ RawSyncStatusClient
23
+ """
24
+ return self._raw_client
25
+
26
+ def list(
27
+ self,
28
+ *,
29
+ cursor: typing.Optional[str] = None,
30
+ page_size: typing.Optional[int] = None,
31
+ request_options: typing.Optional[RequestOptions] = None,
32
+ ) -> PaginatedSyncStatusList:
33
+ """
34
+ Get sync status for the current sync and the most recently finished sync. `last_sync_start` represents the most recent time any sync began. `last_sync_finished` represents the most recent time any sync completed. These timestamps may correspond to different sync instances which may result in a sync start time being later than a separate sync completed time. To ensure you are retrieving the latest available data reference the `last_sync_finished` timestamp where `last_sync_result` is `DONE`. Possible values for `status` and `last_sync_result` are `DISABLED`, `DONE`, `FAILED`, `PARTIALLY_SYNCED`, `PAUSED`, `SYNCING`. Learn more about sync status in our [Help Center](https://help.merge.dev/en/articles/8184193-merge-sync-statuses).
35
+
36
+ Parameters
37
+ ----------
38
+ cursor : typing.Optional[str]
39
+ The pagination cursor value.
40
+
41
+ page_size : typing.Optional[int]
42
+ Number of results to return per page.
43
+
44
+ request_options : typing.Optional[RequestOptions]
45
+ Request-specific configuration.
46
+
47
+ Returns
48
+ -------
49
+ PaginatedSyncStatusList
50
+
51
+
52
+ Examples
53
+ --------
54
+ from merge import Merge
55
+
56
+ client = Merge(
57
+ account_token="YOUR_ACCOUNT_TOKEN",
58
+ api_key="YOUR_API_KEY",
59
+ )
60
+ client.knowledgebase.sync_status.list(
61
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
62
+ )
63
+ """
64
+ _response = self._raw_client.list(cursor=cursor, page_size=page_size, request_options=request_options)
65
+ return _response.data
66
+
67
+
68
+ class AsyncSyncStatusClient:
69
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
70
+ self._raw_client = AsyncRawSyncStatusClient(client_wrapper=client_wrapper)
71
+
72
+ @property
73
+ def with_raw_response(self) -> AsyncRawSyncStatusClient:
74
+ """
75
+ Retrieves a raw implementation of this client that returns raw responses.
76
+
77
+ Returns
78
+ -------
79
+ AsyncRawSyncStatusClient
80
+ """
81
+ return self._raw_client
82
+
83
+ async def list(
84
+ self,
85
+ *,
86
+ cursor: typing.Optional[str] = None,
87
+ page_size: typing.Optional[int] = None,
88
+ request_options: typing.Optional[RequestOptions] = None,
89
+ ) -> PaginatedSyncStatusList:
90
+ """
91
+ Get sync status for the current sync and the most recently finished sync. `last_sync_start` represents the most recent time any sync began. `last_sync_finished` represents the most recent time any sync completed. These timestamps may correspond to different sync instances which may result in a sync start time being later than a separate sync completed time. To ensure you are retrieving the latest available data reference the `last_sync_finished` timestamp where `last_sync_result` is `DONE`. Possible values for `status` and `last_sync_result` are `DISABLED`, `DONE`, `FAILED`, `PARTIALLY_SYNCED`, `PAUSED`, `SYNCING`. Learn more about sync status in our [Help Center](https://help.merge.dev/en/articles/8184193-merge-sync-statuses).
92
+
93
+ Parameters
94
+ ----------
95
+ cursor : typing.Optional[str]
96
+ The pagination cursor value.
97
+
98
+ page_size : typing.Optional[int]
99
+ Number of results to return per page.
100
+
101
+ request_options : typing.Optional[RequestOptions]
102
+ Request-specific configuration.
103
+
104
+ Returns
105
+ -------
106
+ PaginatedSyncStatusList
107
+
108
+
109
+ Examples
110
+ --------
111
+ import asyncio
112
+
113
+ from merge import AsyncMerge
114
+
115
+ client = AsyncMerge(
116
+ account_token="YOUR_ACCOUNT_TOKEN",
117
+ api_key="YOUR_API_KEY",
118
+ )
119
+
120
+
121
+ async def main() -> None:
122
+ await client.knowledgebase.sync_status.list(
123
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
124
+ )
125
+
126
+
127
+ asyncio.run(main())
128
+ """
129
+ _response = await self._raw_client.list(cursor=cursor, page_size=page_size, request_options=request_options)
130
+ return _response.data
@@ -0,0 +1,121 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from json.decoder import JSONDecodeError
5
+
6
+ from .....core.api_error import ApiError
7
+ from .....core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
8
+ from .....core.http_response import AsyncHttpResponse, HttpResponse
9
+ from .....core.request_options import RequestOptions
10
+ from .....core.unchecked_base_model import construct_type
11
+ from ...types.paginated_sync_status_list import PaginatedSyncStatusList
12
+
13
+
14
+ class RawSyncStatusClient:
15
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
16
+ self._client_wrapper = client_wrapper
17
+
18
+ def list(
19
+ self,
20
+ *,
21
+ cursor: typing.Optional[str] = None,
22
+ page_size: typing.Optional[int] = None,
23
+ request_options: typing.Optional[RequestOptions] = None,
24
+ ) -> HttpResponse[PaginatedSyncStatusList]:
25
+ """
26
+ Get sync status for the current sync and the most recently finished sync. `last_sync_start` represents the most recent time any sync began. `last_sync_finished` represents the most recent time any sync completed. These timestamps may correspond to different sync instances which may result in a sync start time being later than a separate sync completed time. To ensure you are retrieving the latest available data reference the `last_sync_finished` timestamp where `last_sync_result` is `DONE`. Possible values for `status` and `last_sync_result` are `DISABLED`, `DONE`, `FAILED`, `PARTIALLY_SYNCED`, `PAUSED`, `SYNCING`. Learn more about sync status in our [Help Center](https://help.merge.dev/en/articles/8184193-merge-sync-statuses).
27
+
28
+ Parameters
29
+ ----------
30
+ cursor : typing.Optional[str]
31
+ The pagination cursor value.
32
+
33
+ page_size : typing.Optional[int]
34
+ Number of results to return per page.
35
+
36
+ request_options : typing.Optional[RequestOptions]
37
+ Request-specific configuration.
38
+
39
+ Returns
40
+ -------
41
+ HttpResponse[PaginatedSyncStatusList]
42
+
43
+ """
44
+ _response = self._client_wrapper.httpx_client.request(
45
+ "knowledgebase/v1/sync-status",
46
+ method="GET",
47
+ params={
48
+ "cursor": cursor,
49
+ "page_size": page_size,
50
+ },
51
+ request_options=request_options,
52
+ )
53
+ try:
54
+ if 200 <= _response.status_code < 300:
55
+ _data = typing.cast(
56
+ PaginatedSyncStatusList,
57
+ construct_type(
58
+ type_=PaginatedSyncStatusList, # type: ignore
59
+ object_=_response.json(),
60
+ ),
61
+ )
62
+ return HttpResponse(response=_response, data=_data)
63
+ _response_json = _response.json()
64
+ except JSONDecodeError:
65
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
66
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
67
+
68
+
69
+ class AsyncRawSyncStatusClient:
70
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
71
+ self._client_wrapper = client_wrapper
72
+
73
+ async def list(
74
+ self,
75
+ *,
76
+ cursor: typing.Optional[str] = None,
77
+ page_size: typing.Optional[int] = None,
78
+ request_options: typing.Optional[RequestOptions] = None,
79
+ ) -> AsyncHttpResponse[PaginatedSyncStatusList]:
80
+ """
81
+ Get sync status for the current sync and the most recently finished sync. `last_sync_start` represents the most recent time any sync began. `last_sync_finished` represents the most recent time any sync completed. These timestamps may correspond to different sync instances which may result in a sync start time being later than a separate sync completed time. To ensure you are retrieving the latest available data reference the `last_sync_finished` timestamp where `last_sync_result` is `DONE`. Possible values for `status` and `last_sync_result` are `DISABLED`, `DONE`, `FAILED`, `PARTIALLY_SYNCED`, `PAUSED`, `SYNCING`. Learn more about sync status in our [Help Center](https://help.merge.dev/en/articles/8184193-merge-sync-statuses).
82
+
83
+ Parameters
84
+ ----------
85
+ cursor : typing.Optional[str]
86
+ The pagination cursor value.
87
+
88
+ page_size : typing.Optional[int]
89
+ Number of results to return per page.
90
+
91
+ request_options : typing.Optional[RequestOptions]
92
+ Request-specific configuration.
93
+
94
+ Returns
95
+ -------
96
+ AsyncHttpResponse[PaginatedSyncStatusList]
97
+
98
+ """
99
+ _response = await self._client_wrapper.httpx_client.request(
100
+ "knowledgebase/v1/sync-status",
101
+ method="GET",
102
+ params={
103
+ "cursor": cursor,
104
+ "page_size": page_size,
105
+ },
106
+ request_options=request_options,
107
+ )
108
+ try:
109
+ if 200 <= _response.status_code < 300:
110
+ _data = typing.cast(
111
+ PaginatedSyncStatusList,
112
+ construct_type(
113
+ type_=PaginatedSyncStatusList, # type: ignore
114
+ object_=_response.json(),
115
+ ),
116
+ )
117
+ return AsyncHttpResponse(response=_response, data=_data)
118
+ _response_json = _response.json()
119
+ except JSONDecodeError:
120
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
121
+ 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
+