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,114 @@
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.remote_key import RemoteKey
12
+
13
+ # this is used as the default value for optional parameters
14
+ OMIT = typing.cast(typing.Any, ...)
15
+
16
+
17
+ class RawRegenerateKeyClient:
18
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
19
+ self._client_wrapper = client_wrapper
20
+
21
+ def create(self, *, name: str, request_options: typing.Optional[RequestOptions] = None) -> HttpResponse[RemoteKey]:
22
+ """
23
+ Exchange remote keys.
24
+
25
+ Parameters
26
+ ----------
27
+ name : str
28
+ The name of the remote key
29
+
30
+ request_options : typing.Optional[RequestOptions]
31
+ Request-specific configuration.
32
+
33
+ Returns
34
+ -------
35
+ HttpResponse[RemoteKey]
36
+
37
+ """
38
+ _response = self._client_wrapper.httpx_client.request(
39
+ "knowledgebase/v1/regenerate-key",
40
+ method="POST",
41
+ json={
42
+ "name": name,
43
+ },
44
+ headers={
45
+ "content-type": "application/json",
46
+ },
47
+ request_options=request_options,
48
+ omit=OMIT,
49
+ )
50
+ try:
51
+ if 200 <= _response.status_code < 300:
52
+ _data = typing.cast(
53
+ RemoteKey,
54
+ construct_type(
55
+ type_=RemoteKey, # type: ignore
56
+ object_=_response.json(),
57
+ ),
58
+ )
59
+ return HttpResponse(response=_response, data=_data)
60
+ _response_json = _response.json()
61
+ except JSONDecodeError:
62
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
63
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
64
+
65
+
66
+ class AsyncRawRegenerateKeyClient:
67
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
68
+ self._client_wrapper = client_wrapper
69
+
70
+ async def create(
71
+ self, *, name: str, request_options: typing.Optional[RequestOptions] = None
72
+ ) -> AsyncHttpResponse[RemoteKey]:
73
+ """
74
+ Exchange remote keys.
75
+
76
+ Parameters
77
+ ----------
78
+ name : str
79
+ The name of the remote key
80
+
81
+ request_options : typing.Optional[RequestOptions]
82
+ Request-specific configuration.
83
+
84
+ Returns
85
+ -------
86
+ AsyncHttpResponse[RemoteKey]
87
+
88
+ """
89
+ _response = await self._client_wrapper.httpx_client.request(
90
+ "knowledgebase/v1/regenerate-key",
91
+ method="POST",
92
+ json={
93
+ "name": name,
94
+ },
95
+ headers={
96
+ "content-type": "application/json",
97
+ },
98
+ request_options=request_options,
99
+ omit=OMIT,
100
+ )
101
+ try:
102
+ if 200 <= _response.status_code < 300:
103
+ _data = typing.cast(
104
+ RemoteKey,
105
+ construct_type(
106
+ type_=RemoteKey, # type: ignore
107
+ object_=_response.json(),
108
+ ),
109
+ )
110
+ return AsyncHttpResponse(response=_response, data=_data)
111
+ _response_json = _response.json()
112
+ except JSONDecodeError:
113
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
114
+ 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,320 @@
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.common_model_scope_api import CommonModelScopeApi
8
+ from ...types.individual_common_model_scope_deserializer_request import IndividualCommonModelScopeDeserializerRequest
9
+ from .raw_client import AsyncRawScopesClient, RawScopesClient
10
+
11
+ # this is used as the default value for optional parameters
12
+ OMIT = typing.cast(typing.Any, ...)
13
+
14
+
15
+ class ScopesClient:
16
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
17
+ self._raw_client = RawScopesClient(client_wrapper=client_wrapper)
18
+
19
+ @property
20
+ def with_raw_response(self) -> RawScopesClient:
21
+ """
22
+ Retrieves a raw implementation of this client that returns raw responses.
23
+
24
+ Returns
25
+ -------
26
+ RawScopesClient
27
+ """
28
+ return self._raw_client
29
+
30
+ def default_scopes_retrieve(
31
+ self, *, request_options: typing.Optional[RequestOptions] = None
32
+ ) -> CommonModelScopeApi:
33
+ """
34
+ 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).
35
+
36
+ Parameters
37
+ ----------
38
+ request_options : typing.Optional[RequestOptions]
39
+ Request-specific configuration.
40
+
41
+ Returns
42
+ -------
43
+ CommonModelScopeApi
44
+
45
+
46
+ Examples
47
+ --------
48
+ from merge import Merge
49
+
50
+ client = Merge(
51
+ account_token="YOUR_ACCOUNT_TOKEN",
52
+ api_key="YOUR_API_KEY",
53
+ )
54
+ client.knowledgebase.scopes.default_scopes_retrieve()
55
+ """
56
+ _response = self._raw_client.default_scopes_retrieve(request_options=request_options)
57
+ return _response.data
58
+
59
+ def linked_account_scopes_retrieve(
60
+ self, *, request_options: typing.Optional[RequestOptions] = None
61
+ ) -> CommonModelScopeApi:
62
+ """
63
+ 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).
64
+
65
+ Parameters
66
+ ----------
67
+ request_options : typing.Optional[RequestOptions]
68
+ Request-specific configuration.
69
+
70
+ Returns
71
+ -------
72
+ CommonModelScopeApi
73
+
74
+
75
+ Examples
76
+ --------
77
+ from merge import Merge
78
+
79
+ client = Merge(
80
+ account_token="YOUR_ACCOUNT_TOKEN",
81
+ api_key="YOUR_API_KEY",
82
+ )
83
+ client.knowledgebase.scopes.linked_account_scopes_retrieve()
84
+ """
85
+ _response = self._raw_client.linked_account_scopes_retrieve(request_options=request_options)
86
+ return _response.data
87
+
88
+ def linked_account_scopes_create(
89
+ self,
90
+ *,
91
+ common_models: typing.Sequence[IndividualCommonModelScopeDeserializerRequest],
92
+ request_options: typing.Optional[RequestOptions] = None,
93
+ ) -> CommonModelScopeApi:
94
+ """
95
+ 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)
96
+
97
+ Parameters
98
+ ----------
99
+ common_models : typing.Sequence[IndividualCommonModelScopeDeserializerRequest]
100
+ The common models you want to update the scopes for
101
+
102
+ request_options : typing.Optional[RequestOptions]
103
+ Request-specific configuration.
104
+
105
+ Returns
106
+ -------
107
+ CommonModelScopeApi
108
+
109
+
110
+ Examples
111
+ --------
112
+ from merge import Merge
113
+ from merge.resources.knowledgebase import (
114
+ FieldPermissionDeserializerRequest,
115
+ IndividualCommonModelScopeDeserializerRequest,
116
+ ModelPermissionDeserializerRequest,
117
+ )
118
+
119
+ client = Merge(
120
+ account_token="YOUR_ACCOUNT_TOKEN",
121
+ api_key="YOUR_API_KEY",
122
+ )
123
+ client.knowledgebase.scopes.linked_account_scopes_create(
124
+ common_models=[
125
+ IndividualCommonModelScopeDeserializerRequest(
126
+ model_name="Employee",
127
+ model_permissions={
128
+ "READ": ModelPermissionDeserializerRequest(
129
+ is_enabled=True,
130
+ ),
131
+ "WRITE": ModelPermissionDeserializerRequest(
132
+ is_enabled=False,
133
+ ),
134
+ },
135
+ field_permissions=FieldPermissionDeserializerRequest(
136
+ enabled_fields=["avatar", "home_location"],
137
+ disabled_fields=["work_location"],
138
+ ),
139
+ ),
140
+ IndividualCommonModelScopeDeserializerRequest(
141
+ model_name="Benefit",
142
+ model_permissions={
143
+ "WRITE": ModelPermissionDeserializerRequest(
144
+ is_enabled=False,
145
+ )
146
+ },
147
+ ),
148
+ ],
149
+ )
150
+ """
151
+ _response = self._raw_client.linked_account_scopes_create(
152
+ common_models=common_models, request_options=request_options
153
+ )
154
+ return _response.data
155
+
156
+
157
+ class AsyncScopesClient:
158
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
159
+ self._raw_client = AsyncRawScopesClient(client_wrapper=client_wrapper)
160
+
161
+ @property
162
+ def with_raw_response(self) -> AsyncRawScopesClient:
163
+ """
164
+ Retrieves a raw implementation of this client that returns raw responses.
165
+
166
+ Returns
167
+ -------
168
+ AsyncRawScopesClient
169
+ """
170
+ return self._raw_client
171
+
172
+ async def default_scopes_retrieve(
173
+ self, *, request_options: typing.Optional[RequestOptions] = None
174
+ ) -> CommonModelScopeApi:
175
+ """
176
+ 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).
177
+
178
+ Parameters
179
+ ----------
180
+ request_options : typing.Optional[RequestOptions]
181
+ Request-specific configuration.
182
+
183
+ Returns
184
+ -------
185
+ CommonModelScopeApi
186
+
187
+
188
+ Examples
189
+ --------
190
+ import asyncio
191
+
192
+ from merge import AsyncMerge
193
+
194
+ client = AsyncMerge(
195
+ account_token="YOUR_ACCOUNT_TOKEN",
196
+ api_key="YOUR_API_KEY",
197
+ )
198
+
199
+
200
+ async def main() -> None:
201
+ await client.knowledgebase.scopes.default_scopes_retrieve()
202
+
203
+
204
+ asyncio.run(main())
205
+ """
206
+ _response = await self._raw_client.default_scopes_retrieve(request_options=request_options)
207
+ return _response.data
208
+
209
+ async def linked_account_scopes_retrieve(
210
+ self, *, request_options: typing.Optional[RequestOptions] = None
211
+ ) -> CommonModelScopeApi:
212
+ """
213
+ 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).
214
+
215
+ Parameters
216
+ ----------
217
+ request_options : typing.Optional[RequestOptions]
218
+ Request-specific configuration.
219
+
220
+ Returns
221
+ -------
222
+ CommonModelScopeApi
223
+
224
+
225
+ Examples
226
+ --------
227
+ import asyncio
228
+
229
+ from merge import AsyncMerge
230
+
231
+ client = AsyncMerge(
232
+ account_token="YOUR_ACCOUNT_TOKEN",
233
+ api_key="YOUR_API_KEY",
234
+ )
235
+
236
+
237
+ async def main() -> None:
238
+ await client.knowledgebase.scopes.linked_account_scopes_retrieve()
239
+
240
+
241
+ asyncio.run(main())
242
+ """
243
+ _response = await self._raw_client.linked_account_scopes_retrieve(request_options=request_options)
244
+ return _response.data
245
+
246
+ async def linked_account_scopes_create(
247
+ self,
248
+ *,
249
+ common_models: typing.Sequence[IndividualCommonModelScopeDeserializerRequest],
250
+ request_options: typing.Optional[RequestOptions] = None,
251
+ ) -> CommonModelScopeApi:
252
+ """
253
+ 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)
254
+
255
+ Parameters
256
+ ----------
257
+ common_models : typing.Sequence[IndividualCommonModelScopeDeserializerRequest]
258
+ The common models you want to update the scopes for
259
+
260
+ request_options : typing.Optional[RequestOptions]
261
+ Request-specific configuration.
262
+
263
+ Returns
264
+ -------
265
+ CommonModelScopeApi
266
+
267
+
268
+ Examples
269
+ --------
270
+ import asyncio
271
+
272
+ from merge import AsyncMerge
273
+ from merge.resources.knowledgebase import (
274
+ FieldPermissionDeserializerRequest,
275
+ IndividualCommonModelScopeDeserializerRequest,
276
+ ModelPermissionDeserializerRequest,
277
+ )
278
+
279
+ client = AsyncMerge(
280
+ account_token="YOUR_ACCOUNT_TOKEN",
281
+ api_key="YOUR_API_KEY",
282
+ )
283
+
284
+
285
+ async def main() -> None:
286
+ await client.knowledgebase.scopes.linked_account_scopes_create(
287
+ common_models=[
288
+ IndividualCommonModelScopeDeserializerRequest(
289
+ model_name="Employee",
290
+ model_permissions={
291
+ "READ": ModelPermissionDeserializerRequest(
292
+ is_enabled=True,
293
+ ),
294
+ "WRITE": ModelPermissionDeserializerRequest(
295
+ is_enabled=False,
296
+ ),
297
+ },
298
+ field_permissions=FieldPermissionDeserializerRequest(
299
+ enabled_fields=["avatar", "home_location"],
300
+ disabled_fields=["work_location"],
301
+ ),
302
+ ),
303
+ IndividualCommonModelScopeDeserializerRequest(
304
+ model_name="Benefit",
305
+ model_permissions={
306
+ "WRITE": ModelPermissionDeserializerRequest(
307
+ is_enabled=False,
308
+ )
309
+ },
310
+ ),
311
+ ],
312
+ )
313
+
314
+
315
+ asyncio.run(main())
316
+ """
317
+ _response = await self._raw_client.linked_account_scopes_create(
318
+ common_models=common_models, request_options=request_options
319
+ )
320
+ return _response.data