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,652 @@
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.external_target_field_api_response import ExternalTargetFieldApiResponse
8
+ from ...types.field_mapping_api_instance_response import FieldMappingApiInstanceResponse
9
+ from ...types.field_mapping_instance_response import FieldMappingInstanceResponse
10
+ from ...types.remote_field_api_response import RemoteFieldApiResponse
11
+ from .raw_client import AsyncRawFieldMappingClient, RawFieldMappingClient
12
+
13
+ # this is used as the default value for optional parameters
14
+ OMIT = typing.cast(typing.Any, ...)
15
+
16
+
17
+ class FieldMappingClient:
18
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
19
+ self._raw_client = RawFieldMappingClient(client_wrapper=client_wrapper)
20
+
21
+ @property
22
+ def with_raw_response(self) -> RawFieldMappingClient:
23
+ """
24
+ Retrieves a raw implementation of this client that returns raw responses.
25
+
26
+ Returns
27
+ -------
28
+ RawFieldMappingClient
29
+ """
30
+ return self._raw_client
31
+
32
+ def field_mappings_retrieve(
33
+ self,
34
+ *,
35
+ exclude_remote_field_metadata: typing.Optional[bool] = None,
36
+ request_options: typing.Optional[RequestOptions] = None,
37
+ ) -> FieldMappingApiInstanceResponse:
38
+ """
39
+ Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/overview/).
40
+
41
+ Parameters
42
+ ----------
43
+ exclude_remote_field_metadata : typing.Optional[bool]
44
+ If `true`, remote fields metadata is excluded from each field mapping instance (i.e. `remote_fields.remote_key_name` and `remote_fields.schema` will be null). This will increase the speed of the request since these fields require some calculations.
45
+
46
+ request_options : typing.Optional[RequestOptions]
47
+ Request-specific configuration.
48
+
49
+ Returns
50
+ -------
51
+ FieldMappingApiInstanceResponse
52
+
53
+
54
+ Examples
55
+ --------
56
+ from merge import Merge
57
+
58
+ client = Merge(
59
+ account_token="YOUR_ACCOUNT_TOKEN",
60
+ api_key="YOUR_API_KEY",
61
+ )
62
+ client.knowledgebase.field_mapping.field_mappings_retrieve()
63
+ """
64
+ _response = self._raw_client.field_mappings_retrieve(
65
+ exclude_remote_field_metadata=exclude_remote_field_metadata, request_options=request_options
66
+ )
67
+ return _response.data
68
+
69
+ def field_mappings_create(
70
+ self,
71
+ *,
72
+ target_field_name: str,
73
+ target_field_description: str,
74
+ remote_field_traversal_path: typing.Sequence[typing.Optional[typing.Any]],
75
+ remote_method: str,
76
+ remote_url_path: str,
77
+ common_model_name: str,
78
+ exclude_remote_field_metadata: typing.Optional[bool] = None,
79
+ jmes_path: typing.Optional[str] = OMIT,
80
+ request_options: typing.Optional[RequestOptions] = None,
81
+ ) -> FieldMappingInstanceResponse:
82
+ """
83
+ Create new Field Mappings that will be available after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start.
84
+
85
+ Parameters
86
+ ----------
87
+ target_field_name : str
88
+ The name of the target field you want this remote field to map to.
89
+
90
+ target_field_description : str
91
+ The description of the target field you want this remote field to map to.
92
+
93
+ remote_field_traversal_path : typing.Sequence[typing.Optional[typing.Any]]
94
+ The field traversal path of the remote field listed when you hit the GET /remote-fields endpoint.
95
+
96
+ remote_method : str
97
+ The method of the remote endpoint where the remote field is coming from.
98
+
99
+ remote_url_path : str
100
+ The path of the remote endpoint where the remote field is coming from.
101
+
102
+ common_model_name : str
103
+ The name of the Common Model that the remote field corresponds to in a given category.
104
+
105
+ exclude_remote_field_metadata : typing.Optional[bool]
106
+ If `true`, remote fields metadata is excluded from each field mapping instance (i.e. `remote_fields.remote_key_name` and `remote_fields.schema` will be null). This will increase the speed of the request since these fields require some calculations.
107
+
108
+ jmes_path : typing.Optional[str]
109
+ JMES path to specify json query expression to be used on field mapping.
110
+
111
+ request_options : typing.Optional[RequestOptions]
112
+ Request-specific configuration.
113
+
114
+ Returns
115
+ -------
116
+ FieldMappingInstanceResponse
117
+
118
+
119
+ Examples
120
+ --------
121
+ from merge import Merge
122
+
123
+ client = Merge(
124
+ account_token="YOUR_ACCOUNT_TOKEN",
125
+ api_key="YOUR_API_KEY",
126
+ )
127
+ client.knowledgebase.field_mapping.field_mappings_create(
128
+ target_field_name="example_target_field_name",
129
+ target_field_description="this is a example description of the target field",
130
+ remote_field_traversal_path=["example_remote_field"],
131
+ remote_method="GET",
132
+ remote_url_path="/example-url-path",
133
+ common_model_name="ExampleCommonModel",
134
+ )
135
+ """
136
+ _response = self._raw_client.field_mappings_create(
137
+ target_field_name=target_field_name,
138
+ target_field_description=target_field_description,
139
+ remote_field_traversal_path=remote_field_traversal_path,
140
+ remote_method=remote_method,
141
+ remote_url_path=remote_url_path,
142
+ common_model_name=common_model_name,
143
+ exclude_remote_field_metadata=exclude_remote_field_metadata,
144
+ jmes_path=jmes_path,
145
+ request_options=request_options,
146
+ )
147
+ return _response.data
148
+
149
+ def field_mappings_destroy(
150
+ self, field_mapping_id: str, *, request_options: typing.Optional[RequestOptions] = None
151
+ ) -> FieldMappingInstanceResponse:
152
+ """
153
+ Deletes Field Mappings for a Linked Account. All data related to this Field Mapping will be deleted and these changes will be reflected after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start.
154
+
155
+ Parameters
156
+ ----------
157
+ field_mapping_id : str
158
+
159
+ request_options : typing.Optional[RequestOptions]
160
+ Request-specific configuration.
161
+
162
+ Returns
163
+ -------
164
+ FieldMappingInstanceResponse
165
+
166
+
167
+ Examples
168
+ --------
169
+ from merge import Merge
170
+
171
+ client = Merge(
172
+ account_token="YOUR_ACCOUNT_TOKEN",
173
+ api_key="YOUR_API_KEY",
174
+ )
175
+ client.knowledgebase.field_mapping.field_mappings_destroy(
176
+ field_mapping_id="field_mapping_id",
177
+ )
178
+ """
179
+ _response = self._raw_client.field_mappings_destroy(field_mapping_id, request_options=request_options)
180
+ return _response.data
181
+
182
+ def field_mappings_partial_update(
183
+ self,
184
+ field_mapping_id: str,
185
+ *,
186
+ remote_field_traversal_path: typing.Optional[typing.Sequence[typing.Optional[typing.Any]]] = OMIT,
187
+ remote_method: typing.Optional[str] = OMIT,
188
+ remote_url_path: typing.Optional[str] = OMIT,
189
+ jmes_path: typing.Optional[str] = OMIT,
190
+ request_options: typing.Optional[RequestOptions] = None,
191
+ ) -> FieldMappingInstanceResponse:
192
+ """
193
+ Create or update existing Field Mappings for a Linked Account. Changes will be reflected after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start.
194
+
195
+ Parameters
196
+ ----------
197
+ field_mapping_id : str
198
+
199
+ remote_field_traversal_path : typing.Optional[typing.Sequence[typing.Optional[typing.Any]]]
200
+ The field traversal path of the remote field listed when you hit the GET /remote-fields endpoint.
201
+
202
+ remote_method : typing.Optional[str]
203
+ The method of the remote endpoint where the remote field is coming from.
204
+
205
+ remote_url_path : typing.Optional[str]
206
+ The path of the remote endpoint where the remote field is coming from.
207
+
208
+ jmes_path : typing.Optional[str]
209
+ JMES path to specify json query expression to be used on field mapping.
210
+
211
+ request_options : typing.Optional[RequestOptions]
212
+ Request-specific configuration.
213
+
214
+ Returns
215
+ -------
216
+ FieldMappingInstanceResponse
217
+
218
+
219
+ Examples
220
+ --------
221
+ from merge import Merge
222
+
223
+ client = Merge(
224
+ account_token="YOUR_ACCOUNT_TOKEN",
225
+ api_key="YOUR_API_KEY",
226
+ )
227
+ client.knowledgebase.field_mapping.field_mappings_partial_update(
228
+ field_mapping_id="field_mapping_id",
229
+ )
230
+ """
231
+ _response = self._raw_client.field_mappings_partial_update(
232
+ field_mapping_id,
233
+ remote_field_traversal_path=remote_field_traversal_path,
234
+ remote_method=remote_method,
235
+ remote_url_path=remote_url_path,
236
+ jmes_path=jmes_path,
237
+ request_options=request_options,
238
+ )
239
+ return _response.data
240
+
241
+ def remote_fields_retrieve(
242
+ self,
243
+ *,
244
+ common_models: typing.Optional[str] = None,
245
+ include_example_values: typing.Optional[str] = None,
246
+ request_options: typing.Optional[RequestOptions] = None,
247
+ ) -> RemoteFieldApiResponse:
248
+ """
249
+ Get all remote fields for a Linked Account. Remote fields are third-party fields that are accessible after initial sync if remote_data is enabled. You can use remote fields to override existing Merge fields or map a new Merge field. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/overview/).
250
+
251
+ Parameters
252
+ ----------
253
+ common_models : typing.Optional[str]
254
+ A comma seperated list of Common Model names. If included, will only return Remote Fields for those Common Models.
255
+
256
+ include_example_values : typing.Optional[str]
257
+ If true, will include example values, where available, for remote fields in the 3rd party platform. These examples come from active data from your customers.
258
+
259
+ request_options : typing.Optional[RequestOptions]
260
+ Request-specific configuration.
261
+
262
+ Returns
263
+ -------
264
+ RemoteFieldApiResponse
265
+
266
+
267
+ Examples
268
+ --------
269
+ from merge import Merge
270
+
271
+ client = Merge(
272
+ account_token="YOUR_ACCOUNT_TOKEN",
273
+ api_key="YOUR_API_KEY",
274
+ )
275
+ client.knowledgebase.field_mapping.remote_fields_retrieve()
276
+ """
277
+ _response = self._raw_client.remote_fields_retrieve(
278
+ common_models=common_models, include_example_values=include_example_values, request_options=request_options
279
+ )
280
+ return _response.data
281
+
282
+ def target_fields_retrieve(
283
+ self, *, request_options: typing.Optional[RequestOptions] = None
284
+ ) -> ExternalTargetFieldApiResponse:
285
+ """
286
+ Get all organization-wide Target Fields, this will not include any Linked Account specific Target Fields. Organization-wide Target Fields are additional fields appended to the Merge Common Model for all Linked Accounts in a category. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/target-fields/).
287
+
288
+ Parameters
289
+ ----------
290
+ request_options : typing.Optional[RequestOptions]
291
+ Request-specific configuration.
292
+
293
+ Returns
294
+ -------
295
+ ExternalTargetFieldApiResponse
296
+
297
+
298
+ Examples
299
+ --------
300
+ from merge import Merge
301
+
302
+ client = Merge(
303
+ account_token="YOUR_ACCOUNT_TOKEN",
304
+ api_key="YOUR_API_KEY",
305
+ )
306
+ client.knowledgebase.field_mapping.target_fields_retrieve()
307
+ """
308
+ _response = self._raw_client.target_fields_retrieve(request_options=request_options)
309
+ return _response.data
310
+
311
+
312
+ class AsyncFieldMappingClient:
313
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
314
+ self._raw_client = AsyncRawFieldMappingClient(client_wrapper=client_wrapper)
315
+
316
+ @property
317
+ def with_raw_response(self) -> AsyncRawFieldMappingClient:
318
+ """
319
+ Retrieves a raw implementation of this client that returns raw responses.
320
+
321
+ Returns
322
+ -------
323
+ AsyncRawFieldMappingClient
324
+ """
325
+ return self._raw_client
326
+
327
+ async def field_mappings_retrieve(
328
+ self,
329
+ *,
330
+ exclude_remote_field_metadata: typing.Optional[bool] = None,
331
+ request_options: typing.Optional[RequestOptions] = None,
332
+ ) -> FieldMappingApiInstanceResponse:
333
+ """
334
+ Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/overview/).
335
+
336
+ Parameters
337
+ ----------
338
+ exclude_remote_field_metadata : typing.Optional[bool]
339
+ If `true`, remote fields metadata is excluded from each field mapping instance (i.e. `remote_fields.remote_key_name` and `remote_fields.schema` will be null). This will increase the speed of the request since these fields require some calculations.
340
+
341
+ request_options : typing.Optional[RequestOptions]
342
+ Request-specific configuration.
343
+
344
+ Returns
345
+ -------
346
+ FieldMappingApiInstanceResponse
347
+
348
+
349
+ Examples
350
+ --------
351
+ import asyncio
352
+
353
+ from merge import AsyncMerge
354
+
355
+ client = AsyncMerge(
356
+ account_token="YOUR_ACCOUNT_TOKEN",
357
+ api_key="YOUR_API_KEY",
358
+ )
359
+
360
+
361
+ async def main() -> None:
362
+ await client.knowledgebase.field_mapping.field_mappings_retrieve()
363
+
364
+
365
+ asyncio.run(main())
366
+ """
367
+ _response = await self._raw_client.field_mappings_retrieve(
368
+ exclude_remote_field_metadata=exclude_remote_field_metadata, request_options=request_options
369
+ )
370
+ return _response.data
371
+
372
+ async def field_mappings_create(
373
+ self,
374
+ *,
375
+ target_field_name: str,
376
+ target_field_description: str,
377
+ remote_field_traversal_path: typing.Sequence[typing.Optional[typing.Any]],
378
+ remote_method: str,
379
+ remote_url_path: str,
380
+ common_model_name: str,
381
+ exclude_remote_field_metadata: typing.Optional[bool] = None,
382
+ jmes_path: typing.Optional[str] = OMIT,
383
+ request_options: typing.Optional[RequestOptions] = None,
384
+ ) -> FieldMappingInstanceResponse:
385
+ """
386
+ Create new Field Mappings that will be available after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start.
387
+
388
+ Parameters
389
+ ----------
390
+ target_field_name : str
391
+ The name of the target field you want this remote field to map to.
392
+
393
+ target_field_description : str
394
+ The description of the target field you want this remote field to map to.
395
+
396
+ remote_field_traversal_path : typing.Sequence[typing.Optional[typing.Any]]
397
+ The field traversal path of the remote field listed when you hit the GET /remote-fields endpoint.
398
+
399
+ remote_method : str
400
+ The method of the remote endpoint where the remote field is coming from.
401
+
402
+ remote_url_path : str
403
+ The path of the remote endpoint where the remote field is coming from.
404
+
405
+ common_model_name : str
406
+ The name of the Common Model that the remote field corresponds to in a given category.
407
+
408
+ exclude_remote_field_metadata : typing.Optional[bool]
409
+ If `true`, remote fields metadata is excluded from each field mapping instance (i.e. `remote_fields.remote_key_name` and `remote_fields.schema` will be null). This will increase the speed of the request since these fields require some calculations.
410
+
411
+ jmes_path : typing.Optional[str]
412
+ JMES path to specify json query expression to be used on field mapping.
413
+
414
+ request_options : typing.Optional[RequestOptions]
415
+ Request-specific configuration.
416
+
417
+ Returns
418
+ -------
419
+ FieldMappingInstanceResponse
420
+
421
+
422
+ Examples
423
+ --------
424
+ import asyncio
425
+
426
+ from merge import AsyncMerge
427
+
428
+ client = AsyncMerge(
429
+ account_token="YOUR_ACCOUNT_TOKEN",
430
+ api_key="YOUR_API_KEY",
431
+ )
432
+
433
+
434
+ async def main() -> None:
435
+ await client.knowledgebase.field_mapping.field_mappings_create(
436
+ target_field_name="example_target_field_name",
437
+ target_field_description="this is a example description of the target field",
438
+ remote_field_traversal_path=["example_remote_field"],
439
+ remote_method="GET",
440
+ remote_url_path="/example-url-path",
441
+ common_model_name="ExampleCommonModel",
442
+ )
443
+
444
+
445
+ asyncio.run(main())
446
+ """
447
+ _response = await self._raw_client.field_mappings_create(
448
+ target_field_name=target_field_name,
449
+ target_field_description=target_field_description,
450
+ remote_field_traversal_path=remote_field_traversal_path,
451
+ remote_method=remote_method,
452
+ remote_url_path=remote_url_path,
453
+ common_model_name=common_model_name,
454
+ exclude_remote_field_metadata=exclude_remote_field_metadata,
455
+ jmes_path=jmes_path,
456
+ request_options=request_options,
457
+ )
458
+ return _response.data
459
+
460
+ async def field_mappings_destroy(
461
+ self, field_mapping_id: str, *, request_options: typing.Optional[RequestOptions] = None
462
+ ) -> FieldMappingInstanceResponse:
463
+ """
464
+ Deletes Field Mappings for a Linked Account. All data related to this Field Mapping will be deleted and these changes will be reflected after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start.
465
+
466
+ Parameters
467
+ ----------
468
+ field_mapping_id : str
469
+
470
+ request_options : typing.Optional[RequestOptions]
471
+ Request-specific configuration.
472
+
473
+ Returns
474
+ -------
475
+ FieldMappingInstanceResponse
476
+
477
+
478
+ Examples
479
+ --------
480
+ import asyncio
481
+
482
+ from merge import AsyncMerge
483
+
484
+ client = AsyncMerge(
485
+ account_token="YOUR_ACCOUNT_TOKEN",
486
+ api_key="YOUR_API_KEY",
487
+ )
488
+
489
+
490
+ async def main() -> None:
491
+ await client.knowledgebase.field_mapping.field_mappings_destroy(
492
+ field_mapping_id="field_mapping_id",
493
+ )
494
+
495
+
496
+ asyncio.run(main())
497
+ """
498
+ _response = await self._raw_client.field_mappings_destroy(field_mapping_id, request_options=request_options)
499
+ return _response.data
500
+
501
+ async def field_mappings_partial_update(
502
+ self,
503
+ field_mapping_id: str,
504
+ *,
505
+ remote_field_traversal_path: typing.Optional[typing.Sequence[typing.Optional[typing.Any]]] = OMIT,
506
+ remote_method: typing.Optional[str] = OMIT,
507
+ remote_url_path: typing.Optional[str] = OMIT,
508
+ jmes_path: typing.Optional[str] = OMIT,
509
+ request_options: typing.Optional[RequestOptions] = None,
510
+ ) -> FieldMappingInstanceResponse:
511
+ """
512
+ Create or update existing Field Mappings for a Linked Account. Changes will be reflected after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start.
513
+
514
+ Parameters
515
+ ----------
516
+ field_mapping_id : str
517
+
518
+ remote_field_traversal_path : typing.Optional[typing.Sequence[typing.Optional[typing.Any]]]
519
+ The field traversal path of the remote field listed when you hit the GET /remote-fields endpoint.
520
+
521
+ remote_method : typing.Optional[str]
522
+ The method of the remote endpoint where the remote field is coming from.
523
+
524
+ remote_url_path : typing.Optional[str]
525
+ The path of the remote endpoint where the remote field is coming from.
526
+
527
+ jmes_path : typing.Optional[str]
528
+ JMES path to specify json query expression to be used on field mapping.
529
+
530
+ request_options : typing.Optional[RequestOptions]
531
+ Request-specific configuration.
532
+
533
+ Returns
534
+ -------
535
+ FieldMappingInstanceResponse
536
+
537
+
538
+ Examples
539
+ --------
540
+ import asyncio
541
+
542
+ from merge import AsyncMerge
543
+
544
+ client = AsyncMerge(
545
+ account_token="YOUR_ACCOUNT_TOKEN",
546
+ api_key="YOUR_API_KEY",
547
+ )
548
+
549
+
550
+ async def main() -> None:
551
+ await client.knowledgebase.field_mapping.field_mappings_partial_update(
552
+ field_mapping_id="field_mapping_id",
553
+ )
554
+
555
+
556
+ asyncio.run(main())
557
+ """
558
+ _response = await self._raw_client.field_mappings_partial_update(
559
+ field_mapping_id,
560
+ remote_field_traversal_path=remote_field_traversal_path,
561
+ remote_method=remote_method,
562
+ remote_url_path=remote_url_path,
563
+ jmes_path=jmes_path,
564
+ request_options=request_options,
565
+ )
566
+ return _response.data
567
+
568
+ async def remote_fields_retrieve(
569
+ self,
570
+ *,
571
+ common_models: typing.Optional[str] = None,
572
+ include_example_values: typing.Optional[str] = None,
573
+ request_options: typing.Optional[RequestOptions] = None,
574
+ ) -> RemoteFieldApiResponse:
575
+ """
576
+ Get all remote fields for a Linked Account. Remote fields are third-party fields that are accessible after initial sync if remote_data is enabled. You can use remote fields to override existing Merge fields or map a new Merge field. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/overview/).
577
+
578
+ Parameters
579
+ ----------
580
+ common_models : typing.Optional[str]
581
+ A comma seperated list of Common Model names. If included, will only return Remote Fields for those Common Models.
582
+
583
+ include_example_values : typing.Optional[str]
584
+ If true, will include example values, where available, for remote fields in the 3rd party platform. These examples come from active data from your customers.
585
+
586
+ request_options : typing.Optional[RequestOptions]
587
+ Request-specific configuration.
588
+
589
+ Returns
590
+ -------
591
+ RemoteFieldApiResponse
592
+
593
+
594
+ Examples
595
+ --------
596
+ import asyncio
597
+
598
+ from merge import AsyncMerge
599
+
600
+ client = AsyncMerge(
601
+ account_token="YOUR_ACCOUNT_TOKEN",
602
+ api_key="YOUR_API_KEY",
603
+ )
604
+
605
+
606
+ async def main() -> None:
607
+ await client.knowledgebase.field_mapping.remote_fields_retrieve()
608
+
609
+
610
+ asyncio.run(main())
611
+ """
612
+ _response = await self._raw_client.remote_fields_retrieve(
613
+ common_models=common_models, include_example_values=include_example_values, request_options=request_options
614
+ )
615
+ return _response.data
616
+
617
+ async def target_fields_retrieve(
618
+ self, *, request_options: typing.Optional[RequestOptions] = None
619
+ ) -> ExternalTargetFieldApiResponse:
620
+ """
621
+ Get all organization-wide Target Fields, this will not include any Linked Account specific Target Fields. Organization-wide Target Fields are additional fields appended to the Merge Common Model for all Linked Accounts in a category. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/target-fields/).
622
+
623
+ Parameters
624
+ ----------
625
+ request_options : typing.Optional[RequestOptions]
626
+ Request-specific configuration.
627
+
628
+ Returns
629
+ -------
630
+ ExternalTargetFieldApiResponse
631
+
632
+
633
+ Examples
634
+ --------
635
+ import asyncio
636
+
637
+ from merge import AsyncMerge
638
+
639
+ client = AsyncMerge(
640
+ account_token="YOUR_ACCOUNT_TOKEN",
641
+ api_key="YOUR_API_KEY",
642
+ )
643
+
644
+
645
+ async def main() -> None:
646
+ await client.knowledgebase.field_mapping.target_fields_retrieve()
647
+
648
+
649
+ asyncio.run(main())
650
+ """
651
+ _response = await self._raw_client.target_fields_retrieve(request_options=request_options)
652
+ return _response.data