frameio 0.0.23__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.

Potentially problematic release.


This version of frameio might be problematic. Click here for more details.

Files changed (363) hide show
  1. frameio/__init__.py +1115 -0
  2. frameio/account_permissions/__init__.py +4 -0
  3. frameio/account_permissions/client.py +182 -0
  4. frameio/account_permissions/raw_client.py +301 -0
  5. frameio/accounts/__init__.py +4 -0
  6. frameio/accounts/client.py +151 -0
  7. frameio/accounts/raw_client.py +281 -0
  8. frameio/client.py +439 -0
  9. frameio/comments/__init__.py +34 -0
  10. frameio/comments/client.py +596 -0
  11. frameio/comments/raw_client.py +1252 -0
  12. frameio/comments/types/__init__.py +38 -0
  13. frameio/comments/types/create_comment_params_data.py +25 -0
  14. frameio/comments/types/update_comment_params_data.py +25 -0
  15. frameio/core/__init__.py +110 -0
  16. frameio/core/api_error.py +23 -0
  17. frameio/core/client_wrapper.py +87 -0
  18. frameio/core/datetime_utils.py +28 -0
  19. frameio/core/file.py +67 -0
  20. frameio/core/force_multipart.py +18 -0
  21. frameio/core/http_client.py +543 -0
  22. frameio/core/http_response.py +55 -0
  23. frameio/core/jsonable_encoder.py +100 -0
  24. frameio/core/pagination.py +82 -0
  25. frameio/core/pydantic_utilities.py +258 -0
  26. frameio/core/query_encoder.py +58 -0
  27. frameio/core/remove_none_from_dict.py +11 -0
  28. frameio/core/request_options.py +35 -0
  29. frameio/core/serialization.py +276 -0
  30. frameio/environment.py +7 -0
  31. frameio/errors/__init__.py +53 -0
  32. frameio/errors/bad_request_error.py +11 -0
  33. frameio/errors/forbidden_error.py +11 -0
  34. frameio/errors/not_found_error.py +11 -0
  35. frameio/errors/too_many_requests_error.py +11 -0
  36. frameio/errors/unauthorized_error.py +11 -0
  37. frameio/errors/unprocessable_entity_error.py +10 -0
  38. frameio/files/__init__.py +55 -0
  39. frameio/files/client.py +1136 -0
  40. frameio/files/raw_client.py +2492 -0
  41. frameio/files/types/__init__.py +53 -0
  42. frameio/files/types/file_copy_params_data.py +15 -0
  43. frameio/files/types/file_create_local_upload_params_data.py +20 -0
  44. frameio/files/types/file_create_params_data.py +31 -0
  45. frameio/files/types/file_create_remote_upload_params_data.py +20 -0
  46. frameio/files/types/file_move_params_data.py +15 -0
  47. frameio/files/types/file_update_params_data.py +15 -0
  48. frameio/folders/__init__.py +39 -0
  49. frameio/folders/client.py +988 -0
  50. frameio/folders/raw_client.py +2058 -0
  51. frameio/folders/types/__init__.py +42 -0
  52. frameio/folders/types/folder_copy_params_data.py +15 -0
  53. frameio/folders/types/folder_create_params_data.py +15 -0
  54. frameio/folders/types/folder_move_params_data.py +15 -0
  55. frameio/folders/types/folder_update_params_data.py +15 -0
  56. frameio/metadata/__init__.py +37 -0
  57. frameio/metadata/client.py +291 -0
  58. frameio/metadata/raw_client.py +509 -0
  59. frameio/metadata/types/__init__.py +38 -0
  60. frameio/metadata/types/bulk_update_metadata_params_data.py +23 -0
  61. frameio/metadata/types/bulk_update_metadata_params_data_values_item.py +13 -0
  62. frameio/metadata_fields/__init__.py +103 -0
  63. frameio/metadata_fields/client.py +536 -0
  64. frameio/metadata_fields/raw_client.py +996 -0
  65. frameio/metadata_fields/types/__init__.py +105 -0
  66. frameio/metadata_fields/types/create_field_definition_params_data.py +108 -0
  67. frameio/metadata_fields/types/update_field_definition_params_data.py +114 -0
  68. frameio/project_permissions/__init__.py +4 -0
  69. frameio/project_permissions/client.py +415 -0
  70. frameio/project_permissions/raw_client.py +789 -0
  71. frameio/projects/__init__.py +4 -0
  72. frameio/projects/client.py +582 -0
  73. frameio/projects/raw_client.py +1250 -0
  74. frameio/py.typed +0 -0
  75. frameio/shares/__init__.py +64 -0
  76. frameio/shares/client.py +1192 -0
  77. frameio/shares/raw_client.py +2446 -0
  78. frameio/shares/types/__init__.py +61 -0
  79. frameio/shares/types/add_asset_params_data.py +15 -0
  80. frameio/shares/types/add_reviewers_to_share_params_data.py +18 -0
  81. frameio/shares/types/add_reviewers_to_share_params_data_reviewers.py +27 -0
  82. frameio/shares/types/create_share_params_data.py +25 -0
  83. frameio/shares/types/remove_reviewer_params_data.py +13 -0
  84. frameio/shares/types/remove_reviewer_params_data_reviewers.py +27 -0
  85. frameio/shares/types/update_share_params_data.py +33 -0
  86. frameio/shares/types/update_share_params_data_access.py +5 -0
  87. frameio/types/__init__.py +959 -0
  88. frameio/types/account.py +65 -0
  89. frameio/types/account_roles_item.py +5 -0
  90. frameio/types/account_user_role.py +23 -0
  91. frameio/types/account_user_role_role.py +5 -0
  92. frameio/types/account_user_roles_response.py +27 -0
  93. frameio/types/accounts_response.py +23 -0
  94. frameio/types/add_asset_response.py +13 -0
  95. frameio/types/add_asset_response_data.py +15 -0
  96. frameio/types/asset_common.py +48 -0
  97. frameio/types/asset_common_type.py +5 -0
  98. frameio/types/asset_common_with_includes.py +56 -0
  99. frameio/types/asset_include.py +5 -0
  100. frameio/types/asset_share_params.py +38 -0
  101. frameio/types/asset_share_params_access.py +5 -0
  102. frameio/types/asset_with_includes.py +72 -0
  103. frameio/types/assets_with_includes_response.py +23 -0
  104. frameio/types/bad_request.py +13 -0
  105. frameio/types/bad_request_errors_item.py +15 -0
  106. frameio/types/bad_request_errors_item_source.py +12 -0
  107. frameio/types/boolean_value.py +12 -0
  108. frameio/types/children_type.py +3 -0
  109. frameio/types/comment.py +52 -0
  110. frameio/types/comment_include.py +5 -0
  111. frameio/types/comment_response.py +13 -0
  112. frameio/types/comment_with_includes.py +17 -0
  113. frameio/types/comment_with_includes_response.py +13 -0
  114. frameio/types/comments_with_includes_response.py +23 -0
  115. frameio/types/date_definition.py +43 -0
  116. frameio/types/date_definition_field_configuration.py +21 -0
  117. frameio/types/date_definition_field_configuration_display_format.py +7 -0
  118. frameio/types/date_definition_field_configuration_time_format.py +5 -0
  119. frameio/types/date_definition_params.py +17 -0
  120. frameio/types/date_definition_params_field_configuration.py +23 -0
  121. frameio/types/date_definition_params_field_configuration_display_format.py +7 -0
  122. frameio/types/date_definition_params_field_configuration_time_format.py +7 -0
  123. frameio/types/date_definition_with_includes.py +13 -0
  124. frameio/types/date_value.py +12 -0
  125. frameio/types/email.py +3 -0
  126. frameio/types/field_definition.py +163 -0
  127. frameio/types/field_definition_include.py +5 -0
  128. frameio/types/field_definition_response.py +13 -0
  129. frameio/types/field_definition_with_includes.py +174 -0
  130. frameio/types/field_definitions_with_includes_response.py +27 -0
  131. frameio/types/field_value_common.py +29 -0
  132. frameio/types/file.py +60 -0
  133. frameio/types/file_copy_response.py +13 -0
  134. frameio/types/file_remote_upload_response.py +17 -0
  135. frameio/types/file_response.py +13 -0
  136. frameio/types/file_status.py +5 -0
  137. frameio/types/file_upload_status.py +41 -0
  138. frameio/types/file_upload_status_response.py +13 -0
  139. frameio/types/file_with_includes.py +25 -0
  140. frameio/types/file_with_includes_response.py +13 -0
  141. frameio/types/file_with_includes_status.py +5 -0
  142. frameio/types/file_with_media_links_include.py +19 -0
  143. frameio/types/file_with_upload_urls.py +16 -0
  144. frameio/types/file_with_upload_urls_response.py +13 -0
  145. frameio/types/folder.py +15 -0
  146. frameio/types/folder_copy_response.py +13 -0
  147. frameio/types/folder_response.py +13 -0
  148. frameio/types/folder_with_includes.py +61 -0
  149. frameio/types/folder_with_includes_response.py +13 -0
  150. frameio/types/folders_with_includes_response.py +23 -0
  151. frameio/types/forbidden.py +13 -0
  152. frameio/types/forbidden_errors_item.py +15 -0
  153. frameio/types/forbidden_errors_item_source.py +12 -0
  154. frameio/types/include.py +5 -0
  155. frameio/types/include_total_count.py +3 -0
  156. frameio/types/integer_value.py +12 -0
  157. frameio/types/json_error_response.py +13 -0
  158. frameio/types/json_error_response_errors_item.py +15 -0
  159. frameio/types/json_error_response_errors_item_source.py +12 -0
  160. frameio/types/links.py +22 -0
  161. frameio/types/long_text_definition.py +43 -0
  162. frameio/types/long_text_definition_field_configuration.py +10 -0
  163. frameio/types/long_text_definition_params.py +15 -0
  164. frameio/types/long_text_definition_with_includes.py +13 -0
  165. frameio/types/media_link_common.py +17 -0
  166. frameio/types/media_links_collection.py +23 -0
  167. frameio/types/metadata_field.py +145 -0
  168. frameio/types/metadata_response.py +13 -0
  169. frameio/types/metadata_with_definition.py +21 -0
  170. frameio/types/multi_select_value.py +14 -0
  171. frameio/types/multi_user_value.py +20 -0
  172. frameio/types/multi_user_value_member_options_type.py +5 -0
  173. frameio/types/no_content.py +3 -0
  174. frameio/types/not_found.py +13 -0
  175. frameio/types/not_found_errors_item.py +15 -0
  176. frameio/types/not_found_errors_item_source.py +12 -0
  177. frameio/types/number_definition.py +43 -0
  178. frameio/types/number_definition_field_configuration.py +21 -0
  179. frameio/types/number_definition_field_configuration_number_format.py +7 -0
  180. frameio/types/number_definition_params.py +17 -0
  181. frameio/types/number_definition_params_field_configuration.py +23 -0
  182. frameio/types/number_definition_params_field_configuration_number_format.py +7 -0
  183. frameio/types/number_definition_with_includes.py +13 -0
  184. frameio/types/number_value.py +12 -0
  185. frameio/types/original_media_link.py +16 -0
  186. frameio/types/profile.py +34 -0
  187. frameio/types/profile_response.py +17 -0
  188. frameio/types/project.py +55 -0
  189. frameio/types/project_include.py +5 -0
  190. frameio/types/project_params.py +17 -0
  191. frameio/types/project_params_data.py +15 -0
  192. frameio/types/project_response.py +17 -0
  193. frameio/types/project_with_includes.py +18 -0
  194. frameio/types/project_with_includes_response.py +17 -0
  195. frameio/types/projects_with_includes_response.py +27 -0
  196. frameio/types/rating_definition.py +43 -0
  197. frameio/types/rating_definition_field_configuration.py +22 -0
  198. frameio/types/rating_definition_field_configuration_style.py +5 -0
  199. frameio/types/rating_definition_params.py +17 -0
  200. frameio/types/rating_definition_params_field_configuration.py +22 -0
  201. frameio/types/rating_definition_params_field_configuration_style.py +5 -0
  202. frameio/types/rating_definition_with_includes.py +13 -0
  203. frameio/types/remove_asset_response.py +13 -0
  204. frameio/types/remove_asset_response_data.py +15 -0
  205. frameio/types/rendition_media_link.py +19 -0
  206. frameio/types/request_after_opaque_cursor.py +5 -0
  207. frameio/types/request_page_size.py +3 -0
  208. frameio/types/select_definition.py +43 -0
  209. frameio/types/select_definition_field_configuration.py +18 -0
  210. frameio/types/select_definition_field_configuration_options_item.py +22 -0
  211. frameio/types/select_definition_params.py +17 -0
  212. frameio/types/select_definition_params_field_configuration.py +20 -0
  213. frameio/types/select_definition_params_field_configuration_options_item.py +20 -0
  214. frameio/types/select_definition_with_includes.py +13 -0
  215. frameio/types/select_multi_definition.py +43 -0
  216. frameio/types/select_multi_definition_field_configuration.py +18 -0
  217. frameio/types/select_multi_definition_field_configuration_options_item.py +22 -0
  218. frameio/types/select_multi_definition_params.py +17 -0
  219. frameio/types/select_multi_definition_params_field_configuration.py +20 -0
  220. frameio/types/select_multi_definition_params_field_configuration_options_item.py +20 -0
  221. frameio/types/select_multi_definition_with_includes.py +13 -0
  222. frameio/types/select_option.py +20 -0
  223. frameio/types/select_value.py +14 -0
  224. frameio/types/share.py +66 -0
  225. frameio/types/share_access.py +5 -0
  226. frameio/types/share_response.py +13 -0
  227. frameio/types/share_reviewers_response.py +27 -0
  228. frameio/types/shares_response.py +27 -0
  229. frameio/types/single_user_value.py +20 -0
  230. frameio/types/single_user_value_member_options_type.py +5 -0
  231. frameio/types/text_definition.py +43 -0
  232. frameio/types/text_definition_field_configuration.py +10 -0
  233. frameio/types/text_definition_params.py +15 -0
  234. frameio/types/text_definition_with_includes.py +13 -0
  235. frameio/types/text_value.py +12 -0
  236. frameio/types/toggle_definition.py +43 -0
  237. frameio/types/toggle_definition_field_configuration.py +15 -0
  238. frameio/types/toggle_definition_params.py +17 -0
  239. frameio/types/toggle_definition_params_field_configuration.py +15 -0
  240. frameio/types/toggle_definition_with_includes.py +13 -0
  241. frameio/types/too_many_requests.py +13 -0
  242. frameio/types/too_many_requests_errors_item.py +15 -0
  243. frameio/types/too_many_requests_errors_item_source.py +12 -0
  244. frameio/types/unauthorized.py +13 -0
  245. frameio/types/unauthorized_errors_item.py +15 -0
  246. frameio/types/unauthorized_errors_item_source.py +12 -0
  247. frameio/types/unprocessable_entity.py +13 -0
  248. frameio/types/unprocessable_entity_errors_item.py +15 -0
  249. frameio/types/unprocessable_entity_errors_item_source.py +12 -0
  250. frameio/types/update_date_definition_params.py +17 -0
  251. frameio/types/update_date_definition_params_field_configuration.py +25 -0
  252. frameio/types/update_date_definition_params_field_configuration_display_format.py +7 -0
  253. frameio/types/update_date_definition_params_field_configuration_time_format.py +7 -0
  254. frameio/types/update_long_text_definition_params.py +15 -0
  255. frameio/types/update_number_definition_params.py +17 -0
  256. frameio/types/update_number_definition_params_field_configuration.py +25 -0
  257. frameio/types/update_number_definition_params_field_configuration_number_format.py +7 -0
  258. frameio/types/update_rating_definition_params.py +17 -0
  259. frameio/types/update_rating_definition_params_field_configuration.py +24 -0
  260. frameio/types/update_rating_definition_params_field_configuration_style.py +7 -0
  261. frameio/types/update_select_definition_params.py +17 -0
  262. frameio/types/update_select_definition_params_field_configuration.py +20 -0
  263. frameio/types/update_select_definition_params_field_configuration_options_item.py +20 -0
  264. frameio/types/update_select_multi_definition_params.py +19 -0
  265. frameio/types/update_select_multi_definition_params_field_configuration.py +20 -0
  266. frameio/types/update_select_multi_definition_params_field_configuration_options_item.py +20 -0
  267. frameio/types/update_text_definition_params.py +15 -0
  268. frameio/types/update_toggle_definition_params.py +17 -0
  269. frameio/types/update_toggle_definition_params_field_configuration.py +15 -0
  270. frameio/types/update_user_multi_definition_params.py +17 -0
  271. frameio/types/update_user_multi_definition_params_field_configuration.py +25 -0
  272. frameio/types/update_user_multi_definition_params_field_configuration_custom_members_item.py +20 -0
  273. frameio/types/update_user_multi_definition_params_field_configuration_custom_members_item_type.py +7 -0
  274. frameio/types/update_user_multi_definition_params_field_configuration_member_options_type.py +7 -0
  275. frameio/types/update_user_roles_params.py +17 -0
  276. frameio/types/update_user_roles_params_data.py +13 -0
  277. frameio/types/update_user_roles_params_data_role.py +7 -0
  278. frameio/types/update_user_roles_response.py +13 -0
  279. frameio/types/update_user_roles_response_data.py +13 -0
  280. frameio/types/update_user_roles_response_data_role.py +7 -0
  281. frameio/types/update_user_single_definition_params.py +17 -0
  282. frameio/types/update_user_single_definition_params_field_configuration.py +25 -0
  283. frameio/types/update_user_single_definition_params_field_configuration_custom_members_item.py +20 -0
  284. frameio/types/update_user_single_definition_params_field_configuration_custom_members_item_type.py +7 -0
  285. frameio/types/update_user_single_definition_params_field_configuration_member_options_type.py +7 -0
  286. frameio/types/upload_url.py +20 -0
  287. frameio/types/user.py +44 -0
  288. frameio/types/user_multi_definition.py +43 -0
  289. frameio/types/user_multi_definition_field_configuration.py +23 -0
  290. frameio/types/user_multi_definition_field_configuration_custom_members_item.py +20 -0
  291. frameio/types/user_multi_definition_field_configuration_custom_members_item_type.py +7 -0
  292. frameio/types/user_multi_definition_field_configuration_member_options_type.py +7 -0
  293. frameio/types/user_multi_definition_params.py +17 -0
  294. frameio/types/user_multi_definition_params_field_configuration.py +23 -0
  295. frameio/types/user_multi_definition_params_field_configuration_custom_members_item.py +20 -0
  296. frameio/types/user_multi_definition_params_field_configuration_custom_members_item_type.py +7 -0
  297. frameio/types/user_multi_definition_params_field_configuration_member_options_type.py +7 -0
  298. frameio/types/user_multi_definition_with_includes.py +13 -0
  299. frameio/types/user_role.py +19 -0
  300. frameio/types/user_role_role.py +7 -0
  301. frameio/types/user_roles_response.py +27 -0
  302. frameio/types/user_single_definition.py +43 -0
  303. frameio/types/user_single_definition_field_configuration.py +23 -0
  304. frameio/types/user_single_definition_field_configuration_custom_members_item.py +20 -0
  305. frameio/types/user_single_definition_field_configuration_custom_members_item_type.py +7 -0
  306. frameio/types/user_single_definition_field_configuration_member_options_type.py +7 -0
  307. frameio/types/user_single_definition_params.py +17 -0
  308. frameio/types/user_single_definition_params_field_configuration.py +23 -0
  309. frameio/types/user_single_definition_params_field_configuration_custom_members_item.py +20 -0
  310. frameio/types/user_single_definition_params_field_configuration_custom_members_item_type.py +7 -0
  311. frameio/types/user_single_definition_params_field_configuration_member_options_type.py +7 -0
  312. frameio/types/user_single_definition_with_includes.py +13 -0
  313. frameio/types/user_value.py +18 -0
  314. frameio/types/user_value_type.py +5 -0
  315. frameio/types/uuid_.py +3 -0
  316. frameio/types/version_stack.py +50 -0
  317. frameio/types/version_stack_copy_response.py +13 -0
  318. frameio/types/version_stack_response.py +13 -0
  319. frameio/types/version_stack_with_includes.py +58 -0
  320. frameio/types/version_stack_with_includes_response.py +13 -0
  321. frameio/types/version_stacks_with_includes_response.py +19 -0
  322. frameio/types/webhook.py +36 -0
  323. frameio/types/webhook_create_response.py +17 -0
  324. frameio/types/webhook_create_response_data.py +15 -0
  325. frameio/types/webhook_events.py +5 -0
  326. frameio/types/webhook_response.py +13 -0
  327. frameio/types/webhook_with_includes.py +13 -0
  328. frameio/types/webhook_with_includes_response.py +13 -0
  329. frameio/types/webhooks_with_includes_response.py +23 -0
  330. frameio/types/workspace.py +40 -0
  331. frameio/types/workspace_include.py +5 -0
  332. frameio/types/workspace_params.py +17 -0
  333. frameio/types/workspace_params_data.py +15 -0
  334. frameio/types/workspace_response.py +17 -0
  335. frameio/types/workspace_with_includes.py +13 -0
  336. frameio/types/workspace_with_includes_response.py +17 -0
  337. frameio/types/workspaces_with_includes_response.py +27 -0
  338. frameio/users/__init__.py +4 -0
  339. frameio/users/client.py +100 -0
  340. frameio/users/raw_client.py +234 -0
  341. frameio/version.py +3 -0
  342. frameio/version_stacks/__init__.py +38 -0
  343. frameio/version_stacks/client.py +699 -0
  344. frameio/version_stacks/raw_client.py +1359 -0
  345. frameio/version_stacks/types/__init__.py +40 -0
  346. frameio/version_stacks/types/version_stack_copy_params_data.py +15 -0
  347. frameio/version_stacks/types/version_stack_create_params_data.py +19 -0
  348. frameio/version_stacks/types/version_stack_move_params_data.py +15 -0
  349. frameio/webhooks/__init__.py +34 -0
  350. frameio/webhooks/client.py +782 -0
  351. frameio/webhooks/raw_client.py +1312 -0
  352. frameio/webhooks/types/__init__.py +38 -0
  353. frameio/webhooks/types/webhook_create_params_data.py +18 -0
  354. frameio/webhooks/types/webhook_update_params_data.py +23 -0
  355. frameio/workspace_permissions/__init__.py +4 -0
  356. frameio/workspace_permissions/client.py +419 -0
  357. frameio/workspace_permissions/raw_client.py +789 -0
  358. frameio/workspaces/__init__.py +4 -0
  359. frameio/workspaces/client.py +552 -0
  360. frameio/workspaces/raw_client.py +1226 -0
  361. frameio-0.0.23.dist-info/METADATA +255 -0
  362. frameio-0.0.23.dist-info/RECORD +363 -0
  363. frameio-0.0.23.dist-info/WHEEL +4 -0
@@ -0,0 +1,996 @@
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.jsonable_encoder import jsonable_encoder
10
+ from ..core.pydantic_utilities import parse_obj_as
11
+ from ..core.request_options import RequestOptions
12
+ from ..core.serialization import convert_and_respect_annotation_metadata
13
+ from ..errors.bad_request_error import BadRequestError
14
+ from ..errors.forbidden_error import ForbiddenError
15
+ from ..errors.not_found_error import NotFoundError
16
+ from ..errors.too_many_requests_error import TooManyRequestsError
17
+ from ..errors.unauthorized_error import UnauthorizedError
18
+ from ..errors.unprocessable_entity_error import UnprocessableEntityError
19
+ from ..types.bad_request import BadRequest
20
+ from ..types.field_definition_response import FieldDefinitionResponse
21
+ from ..types.field_definitions_with_includes_response import FieldDefinitionsWithIncludesResponse
22
+ from ..types.forbidden import Forbidden
23
+ from ..types.include_total_count import IncludeTotalCount
24
+ from ..types.not_found import NotFound
25
+ from ..types.request_after_opaque_cursor import RequestAfterOpaqueCursor
26
+ from ..types.request_page_size import RequestPageSize
27
+ from ..types.too_many_requests import TooManyRequests
28
+ from ..types.unauthorized import Unauthorized
29
+ from ..types.uuid_ import Uuid
30
+ from .types.create_field_definition_params_data import CreateFieldDefinitionParamsData
31
+ from .types.update_field_definition_params_data import UpdateFieldDefinitionParamsData
32
+
33
+ # this is used as the default value for optional parameters
34
+ OMIT = typing.cast(typing.Any, ...)
35
+
36
+
37
+ class RawMetadataFieldsClient:
38
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
39
+ self._client_wrapper = client_wrapper
40
+
41
+ def metadata_field_definitions_delete(
42
+ self, account_id: Uuid, field_definition_id: Uuid, *, request_options: typing.Optional[RequestOptions] = None
43
+ ) -> HttpResponse[None]:
44
+ """
45
+ Delete account level custom field definitions. <br><br>Rate Limits: 60 calls per 1.00 minute(s) per account
46
+
47
+ Parameters
48
+ ----------
49
+ account_id : Uuid
50
+
51
+
52
+ field_definition_id : Uuid
53
+
54
+
55
+ request_options : typing.Optional[RequestOptions]
56
+ Request-specific configuration.
57
+
58
+ Returns
59
+ -------
60
+ HttpResponse[None]
61
+ """
62
+ _response = self._client_wrapper.httpx_client.request(
63
+ f"v4/accounts/{jsonable_encoder(account_id)}/metadata/field_definitions/{jsonable_encoder(field_definition_id)}",
64
+ method="DELETE",
65
+ request_options=request_options,
66
+ )
67
+ try:
68
+ if 200 <= _response.status_code < 300:
69
+ return HttpResponse(response=_response, data=None)
70
+ if _response.status_code == 400:
71
+ raise BadRequestError(
72
+ headers=dict(_response.headers),
73
+ body=typing.cast(
74
+ BadRequest,
75
+ parse_obj_as(
76
+ type_=BadRequest, # type: ignore
77
+ object_=_response.json(),
78
+ ),
79
+ ),
80
+ )
81
+ if _response.status_code == 401:
82
+ raise UnauthorizedError(
83
+ headers=dict(_response.headers),
84
+ body=typing.cast(
85
+ Unauthorized,
86
+ parse_obj_as(
87
+ type_=Unauthorized, # type: ignore
88
+ object_=_response.json(),
89
+ ),
90
+ ),
91
+ )
92
+ if _response.status_code == 403:
93
+ raise ForbiddenError(
94
+ headers=dict(_response.headers),
95
+ body=typing.cast(
96
+ Forbidden,
97
+ parse_obj_as(
98
+ type_=Forbidden, # type: ignore
99
+ object_=_response.json(),
100
+ ),
101
+ ),
102
+ )
103
+ if _response.status_code == 404:
104
+ raise NotFoundError(
105
+ headers=dict(_response.headers),
106
+ body=typing.cast(
107
+ NotFound,
108
+ parse_obj_as(
109
+ type_=NotFound, # type: ignore
110
+ object_=_response.json(),
111
+ ),
112
+ ),
113
+ )
114
+ if _response.status_code == 422:
115
+ raise UnprocessableEntityError(
116
+ headers=dict(_response.headers),
117
+ body=typing.cast(
118
+ typing.Optional[typing.Any],
119
+ parse_obj_as(
120
+ type_=typing.Optional[typing.Any], # type: ignore
121
+ object_=_response.json(),
122
+ ),
123
+ ),
124
+ )
125
+ if _response.status_code == 429:
126
+ raise TooManyRequestsError(
127
+ headers=dict(_response.headers),
128
+ body=typing.cast(
129
+ TooManyRequests,
130
+ parse_obj_as(
131
+ type_=TooManyRequests, # type: ignore
132
+ object_=_response.json(),
133
+ ),
134
+ ),
135
+ )
136
+ _response_json = _response.json()
137
+ except JSONDecodeError:
138
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
139
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
140
+
141
+ def metadata_field_definitions_update(
142
+ self,
143
+ account_id: Uuid,
144
+ field_definition_id: Uuid,
145
+ *,
146
+ data: typing.Optional[UpdateFieldDefinitionParamsData] = OMIT,
147
+ request_options: typing.Optional[RequestOptions] = None,
148
+ ) -> HttpResponse[FieldDefinitionResponse]:
149
+ """
150
+ Update account level custom field definitions. <br><br>Rate Limits: 10 calls per 1.00 minute(s) per account
151
+
152
+ Parameters
153
+ ----------
154
+ account_id : Uuid
155
+
156
+
157
+ field_definition_id : Uuid
158
+
159
+
160
+ data : typing.Optional[UpdateFieldDefinitionParamsData]
161
+
162
+ request_options : typing.Optional[RequestOptions]
163
+ Request-specific configuration.
164
+
165
+ Returns
166
+ -------
167
+ HttpResponse[FieldDefinitionResponse]
168
+ OK
169
+ """
170
+ _response = self._client_wrapper.httpx_client.request(
171
+ f"v4/accounts/{jsonable_encoder(account_id)}/metadata/field_definitions/{jsonable_encoder(field_definition_id)}",
172
+ method="PATCH",
173
+ json={
174
+ "data": convert_and_respect_annotation_metadata(
175
+ object_=data, annotation=UpdateFieldDefinitionParamsData, direction="write"
176
+ ),
177
+ },
178
+ headers={
179
+ "content-type": "application/json",
180
+ },
181
+ request_options=request_options,
182
+ omit=OMIT,
183
+ )
184
+ try:
185
+ if 200 <= _response.status_code < 300:
186
+ _data = typing.cast(
187
+ FieldDefinitionResponse,
188
+ parse_obj_as(
189
+ type_=FieldDefinitionResponse, # type: ignore
190
+ object_=_response.json(),
191
+ ),
192
+ )
193
+ return HttpResponse(response=_response, data=_data)
194
+ if _response.status_code == 400:
195
+ raise BadRequestError(
196
+ headers=dict(_response.headers),
197
+ body=typing.cast(
198
+ BadRequest,
199
+ parse_obj_as(
200
+ type_=BadRequest, # type: ignore
201
+ object_=_response.json(),
202
+ ),
203
+ ),
204
+ )
205
+ if _response.status_code == 401:
206
+ raise UnauthorizedError(
207
+ headers=dict(_response.headers),
208
+ body=typing.cast(
209
+ Unauthorized,
210
+ parse_obj_as(
211
+ type_=Unauthorized, # type: ignore
212
+ object_=_response.json(),
213
+ ),
214
+ ),
215
+ )
216
+ if _response.status_code == 403:
217
+ raise ForbiddenError(
218
+ headers=dict(_response.headers),
219
+ body=typing.cast(
220
+ Forbidden,
221
+ parse_obj_as(
222
+ type_=Forbidden, # type: ignore
223
+ object_=_response.json(),
224
+ ),
225
+ ),
226
+ )
227
+ if _response.status_code == 404:
228
+ raise NotFoundError(
229
+ headers=dict(_response.headers),
230
+ body=typing.cast(
231
+ NotFound,
232
+ parse_obj_as(
233
+ type_=NotFound, # type: ignore
234
+ object_=_response.json(),
235
+ ),
236
+ ),
237
+ )
238
+ if _response.status_code == 422:
239
+ raise UnprocessableEntityError(
240
+ headers=dict(_response.headers),
241
+ body=typing.cast(
242
+ typing.Optional[typing.Any],
243
+ parse_obj_as(
244
+ type_=typing.Optional[typing.Any], # type: ignore
245
+ object_=_response.json(),
246
+ ),
247
+ ),
248
+ )
249
+ if _response.status_code == 429:
250
+ raise TooManyRequestsError(
251
+ headers=dict(_response.headers),
252
+ body=typing.cast(
253
+ TooManyRequests,
254
+ parse_obj_as(
255
+ type_=TooManyRequests, # type: ignore
256
+ object_=_response.json(),
257
+ ),
258
+ ),
259
+ )
260
+ _response_json = _response.json()
261
+ except JSONDecodeError:
262
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
263
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
264
+
265
+ def metadata_field_definitions_index(
266
+ self,
267
+ account_id: Uuid,
268
+ *,
269
+ include: typing.Optional[typing.Literal["creator"]] = None,
270
+ after: typing.Optional[RequestAfterOpaqueCursor] = None,
271
+ page_size: typing.Optional[RequestPageSize] = None,
272
+ include_total_count: typing.Optional[IncludeTotalCount] = None,
273
+ request_options: typing.Optional[RequestOptions] = None,
274
+ ) -> HttpResponse[FieldDefinitionsWithIncludesResponse]:
275
+ """
276
+ List account level field definitions. <br><br>Rate Limits: 100 calls per 1.00 minute(s) per account
277
+
278
+ Parameters
279
+ ----------
280
+ account_id : Uuid
281
+
282
+
283
+ include : typing.Optional[typing.Literal["creator"]]
284
+
285
+
286
+ after : typing.Optional[RequestAfterOpaqueCursor]
287
+ Opaque Cursor query param for requests returning paginated results.
288
+ <br/>
289
+ NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
290
+
291
+ page_size : typing.Optional[RequestPageSize]
292
+
293
+
294
+ include_total_count : typing.Optional[IncludeTotalCount]
295
+
296
+
297
+ request_options : typing.Optional[RequestOptions]
298
+ Request-specific configuration.
299
+
300
+ Returns
301
+ -------
302
+ HttpResponse[FieldDefinitionsWithIncludesResponse]
303
+ OK
304
+ """
305
+ _response = self._client_wrapper.httpx_client.request(
306
+ f"v4/accounts/{jsonable_encoder(account_id)}/metadata/field_definitions",
307
+ method="GET",
308
+ params={
309
+ "include": include,
310
+ "after": after,
311
+ "page_size": page_size,
312
+ "include_total_count": include_total_count,
313
+ },
314
+ request_options=request_options,
315
+ )
316
+ try:
317
+ if 200 <= _response.status_code < 300:
318
+ _data = typing.cast(
319
+ FieldDefinitionsWithIncludesResponse,
320
+ parse_obj_as(
321
+ type_=FieldDefinitionsWithIncludesResponse, # type: ignore
322
+ object_=_response.json(),
323
+ ),
324
+ )
325
+ return HttpResponse(response=_response, data=_data)
326
+ if _response.status_code == 400:
327
+ raise BadRequestError(
328
+ headers=dict(_response.headers),
329
+ body=typing.cast(
330
+ BadRequest,
331
+ parse_obj_as(
332
+ type_=BadRequest, # type: ignore
333
+ object_=_response.json(),
334
+ ),
335
+ ),
336
+ )
337
+ if _response.status_code == 401:
338
+ raise UnauthorizedError(
339
+ headers=dict(_response.headers),
340
+ body=typing.cast(
341
+ Unauthorized,
342
+ parse_obj_as(
343
+ type_=Unauthorized, # type: ignore
344
+ object_=_response.json(),
345
+ ),
346
+ ),
347
+ )
348
+ if _response.status_code == 403:
349
+ raise ForbiddenError(
350
+ headers=dict(_response.headers),
351
+ body=typing.cast(
352
+ Forbidden,
353
+ parse_obj_as(
354
+ type_=Forbidden, # type: ignore
355
+ object_=_response.json(),
356
+ ),
357
+ ),
358
+ )
359
+ if _response.status_code == 404:
360
+ raise NotFoundError(
361
+ headers=dict(_response.headers),
362
+ body=typing.cast(
363
+ NotFound,
364
+ parse_obj_as(
365
+ type_=NotFound, # type: ignore
366
+ object_=_response.json(),
367
+ ),
368
+ ),
369
+ )
370
+ if _response.status_code == 422:
371
+ raise UnprocessableEntityError(
372
+ headers=dict(_response.headers),
373
+ body=typing.cast(
374
+ typing.Optional[typing.Any],
375
+ parse_obj_as(
376
+ type_=typing.Optional[typing.Any], # type: ignore
377
+ object_=_response.json(),
378
+ ),
379
+ ),
380
+ )
381
+ if _response.status_code == 429:
382
+ raise TooManyRequestsError(
383
+ headers=dict(_response.headers),
384
+ body=typing.cast(
385
+ TooManyRequests,
386
+ parse_obj_as(
387
+ type_=TooManyRequests, # type: ignore
388
+ object_=_response.json(),
389
+ ),
390
+ ),
391
+ )
392
+ _response_json = _response.json()
393
+ except JSONDecodeError:
394
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
395
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
396
+
397
+ def metadata_field_definitions_create(
398
+ self,
399
+ account_id: Uuid,
400
+ *,
401
+ data: typing.Optional[CreateFieldDefinitionParamsData] = OMIT,
402
+ request_options: typing.Optional[RequestOptions] = None,
403
+ ) -> HttpResponse[FieldDefinitionResponse]:
404
+ """
405
+ Create account level field definitions. <br><br>Rate Limits: 10 calls per 1.00 minute(s) per account
406
+
407
+ Parameters
408
+ ----------
409
+ account_id : Uuid
410
+
411
+
412
+ data : typing.Optional[CreateFieldDefinitionParamsData]
413
+
414
+ request_options : typing.Optional[RequestOptions]
415
+ Request-specific configuration.
416
+
417
+ Returns
418
+ -------
419
+ HttpResponse[FieldDefinitionResponse]
420
+ Created
421
+ """
422
+ _response = self._client_wrapper.httpx_client.request(
423
+ f"v4/accounts/{jsonable_encoder(account_id)}/metadata/field_definitions",
424
+ method="POST",
425
+ json={
426
+ "data": convert_and_respect_annotation_metadata(
427
+ object_=data, annotation=CreateFieldDefinitionParamsData, direction="write"
428
+ ),
429
+ },
430
+ headers={
431
+ "content-type": "application/json",
432
+ },
433
+ request_options=request_options,
434
+ omit=OMIT,
435
+ )
436
+ try:
437
+ if 200 <= _response.status_code < 300:
438
+ _data = typing.cast(
439
+ FieldDefinitionResponse,
440
+ parse_obj_as(
441
+ type_=FieldDefinitionResponse, # type: ignore
442
+ object_=_response.json(),
443
+ ),
444
+ )
445
+ return HttpResponse(response=_response, data=_data)
446
+ if _response.status_code == 400:
447
+ raise BadRequestError(
448
+ headers=dict(_response.headers),
449
+ body=typing.cast(
450
+ BadRequest,
451
+ parse_obj_as(
452
+ type_=BadRequest, # type: ignore
453
+ object_=_response.json(),
454
+ ),
455
+ ),
456
+ )
457
+ if _response.status_code == 401:
458
+ raise UnauthorizedError(
459
+ headers=dict(_response.headers),
460
+ body=typing.cast(
461
+ Unauthorized,
462
+ parse_obj_as(
463
+ type_=Unauthorized, # type: ignore
464
+ object_=_response.json(),
465
+ ),
466
+ ),
467
+ )
468
+ if _response.status_code == 403:
469
+ raise ForbiddenError(
470
+ headers=dict(_response.headers),
471
+ body=typing.cast(
472
+ Forbidden,
473
+ parse_obj_as(
474
+ type_=Forbidden, # type: ignore
475
+ object_=_response.json(),
476
+ ),
477
+ ),
478
+ )
479
+ if _response.status_code == 404:
480
+ raise NotFoundError(
481
+ headers=dict(_response.headers),
482
+ body=typing.cast(
483
+ NotFound,
484
+ parse_obj_as(
485
+ type_=NotFound, # type: ignore
486
+ object_=_response.json(),
487
+ ),
488
+ ),
489
+ )
490
+ if _response.status_code == 422:
491
+ raise UnprocessableEntityError(
492
+ headers=dict(_response.headers),
493
+ body=typing.cast(
494
+ typing.Optional[typing.Any],
495
+ parse_obj_as(
496
+ type_=typing.Optional[typing.Any], # type: ignore
497
+ object_=_response.json(),
498
+ ),
499
+ ),
500
+ )
501
+ if _response.status_code == 429:
502
+ raise TooManyRequestsError(
503
+ headers=dict(_response.headers),
504
+ body=typing.cast(
505
+ TooManyRequests,
506
+ parse_obj_as(
507
+ type_=TooManyRequests, # type: ignore
508
+ object_=_response.json(),
509
+ ),
510
+ ),
511
+ )
512
+ _response_json = _response.json()
513
+ except JSONDecodeError:
514
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
515
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
516
+
517
+
518
+ class AsyncRawMetadataFieldsClient:
519
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
520
+ self._client_wrapper = client_wrapper
521
+
522
+ async def metadata_field_definitions_delete(
523
+ self, account_id: Uuid, field_definition_id: Uuid, *, request_options: typing.Optional[RequestOptions] = None
524
+ ) -> AsyncHttpResponse[None]:
525
+ """
526
+ Delete account level custom field definitions. <br><br>Rate Limits: 60 calls per 1.00 minute(s) per account
527
+
528
+ Parameters
529
+ ----------
530
+ account_id : Uuid
531
+
532
+
533
+ field_definition_id : Uuid
534
+
535
+
536
+ request_options : typing.Optional[RequestOptions]
537
+ Request-specific configuration.
538
+
539
+ Returns
540
+ -------
541
+ AsyncHttpResponse[None]
542
+ """
543
+ _response = await self._client_wrapper.httpx_client.request(
544
+ f"v4/accounts/{jsonable_encoder(account_id)}/metadata/field_definitions/{jsonable_encoder(field_definition_id)}",
545
+ method="DELETE",
546
+ request_options=request_options,
547
+ )
548
+ try:
549
+ if 200 <= _response.status_code < 300:
550
+ return AsyncHttpResponse(response=_response, data=None)
551
+ if _response.status_code == 400:
552
+ raise BadRequestError(
553
+ headers=dict(_response.headers),
554
+ body=typing.cast(
555
+ BadRequest,
556
+ parse_obj_as(
557
+ type_=BadRequest, # type: ignore
558
+ object_=_response.json(),
559
+ ),
560
+ ),
561
+ )
562
+ if _response.status_code == 401:
563
+ raise UnauthorizedError(
564
+ headers=dict(_response.headers),
565
+ body=typing.cast(
566
+ Unauthorized,
567
+ parse_obj_as(
568
+ type_=Unauthorized, # type: ignore
569
+ object_=_response.json(),
570
+ ),
571
+ ),
572
+ )
573
+ if _response.status_code == 403:
574
+ raise ForbiddenError(
575
+ headers=dict(_response.headers),
576
+ body=typing.cast(
577
+ Forbidden,
578
+ parse_obj_as(
579
+ type_=Forbidden, # type: ignore
580
+ object_=_response.json(),
581
+ ),
582
+ ),
583
+ )
584
+ if _response.status_code == 404:
585
+ raise NotFoundError(
586
+ headers=dict(_response.headers),
587
+ body=typing.cast(
588
+ NotFound,
589
+ parse_obj_as(
590
+ type_=NotFound, # type: ignore
591
+ object_=_response.json(),
592
+ ),
593
+ ),
594
+ )
595
+ if _response.status_code == 422:
596
+ raise UnprocessableEntityError(
597
+ headers=dict(_response.headers),
598
+ body=typing.cast(
599
+ typing.Optional[typing.Any],
600
+ parse_obj_as(
601
+ type_=typing.Optional[typing.Any], # type: ignore
602
+ object_=_response.json(),
603
+ ),
604
+ ),
605
+ )
606
+ if _response.status_code == 429:
607
+ raise TooManyRequestsError(
608
+ headers=dict(_response.headers),
609
+ body=typing.cast(
610
+ TooManyRequests,
611
+ parse_obj_as(
612
+ type_=TooManyRequests, # type: ignore
613
+ object_=_response.json(),
614
+ ),
615
+ ),
616
+ )
617
+ _response_json = _response.json()
618
+ except JSONDecodeError:
619
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
620
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
621
+
622
+ async def metadata_field_definitions_update(
623
+ self,
624
+ account_id: Uuid,
625
+ field_definition_id: Uuid,
626
+ *,
627
+ data: typing.Optional[UpdateFieldDefinitionParamsData] = OMIT,
628
+ request_options: typing.Optional[RequestOptions] = None,
629
+ ) -> AsyncHttpResponse[FieldDefinitionResponse]:
630
+ """
631
+ Update account level custom field definitions. <br><br>Rate Limits: 10 calls per 1.00 minute(s) per account
632
+
633
+ Parameters
634
+ ----------
635
+ account_id : Uuid
636
+
637
+
638
+ field_definition_id : Uuid
639
+
640
+
641
+ data : typing.Optional[UpdateFieldDefinitionParamsData]
642
+
643
+ request_options : typing.Optional[RequestOptions]
644
+ Request-specific configuration.
645
+
646
+ Returns
647
+ -------
648
+ AsyncHttpResponse[FieldDefinitionResponse]
649
+ OK
650
+ """
651
+ _response = await self._client_wrapper.httpx_client.request(
652
+ f"v4/accounts/{jsonable_encoder(account_id)}/metadata/field_definitions/{jsonable_encoder(field_definition_id)}",
653
+ method="PATCH",
654
+ json={
655
+ "data": convert_and_respect_annotation_metadata(
656
+ object_=data, annotation=UpdateFieldDefinitionParamsData, direction="write"
657
+ ),
658
+ },
659
+ headers={
660
+ "content-type": "application/json",
661
+ },
662
+ request_options=request_options,
663
+ omit=OMIT,
664
+ )
665
+ try:
666
+ if 200 <= _response.status_code < 300:
667
+ _data = typing.cast(
668
+ FieldDefinitionResponse,
669
+ parse_obj_as(
670
+ type_=FieldDefinitionResponse, # type: ignore
671
+ object_=_response.json(),
672
+ ),
673
+ )
674
+ return AsyncHttpResponse(response=_response, data=_data)
675
+ if _response.status_code == 400:
676
+ raise BadRequestError(
677
+ headers=dict(_response.headers),
678
+ body=typing.cast(
679
+ BadRequest,
680
+ parse_obj_as(
681
+ type_=BadRequest, # type: ignore
682
+ object_=_response.json(),
683
+ ),
684
+ ),
685
+ )
686
+ if _response.status_code == 401:
687
+ raise UnauthorizedError(
688
+ headers=dict(_response.headers),
689
+ body=typing.cast(
690
+ Unauthorized,
691
+ parse_obj_as(
692
+ type_=Unauthorized, # type: ignore
693
+ object_=_response.json(),
694
+ ),
695
+ ),
696
+ )
697
+ if _response.status_code == 403:
698
+ raise ForbiddenError(
699
+ headers=dict(_response.headers),
700
+ body=typing.cast(
701
+ Forbidden,
702
+ parse_obj_as(
703
+ type_=Forbidden, # type: ignore
704
+ object_=_response.json(),
705
+ ),
706
+ ),
707
+ )
708
+ if _response.status_code == 404:
709
+ raise NotFoundError(
710
+ headers=dict(_response.headers),
711
+ body=typing.cast(
712
+ NotFound,
713
+ parse_obj_as(
714
+ type_=NotFound, # type: ignore
715
+ object_=_response.json(),
716
+ ),
717
+ ),
718
+ )
719
+ if _response.status_code == 422:
720
+ raise UnprocessableEntityError(
721
+ headers=dict(_response.headers),
722
+ body=typing.cast(
723
+ typing.Optional[typing.Any],
724
+ parse_obj_as(
725
+ type_=typing.Optional[typing.Any], # type: ignore
726
+ object_=_response.json(),
727
+ ),
728
+ ),
729
+ )
730
+ if _response.status_code == 429:
731
+ raise TooManyRequestsError(
732
+ headers=dict(_response.headers),
733
+ body=typing.cast(
734
+ TooManyRequests,
735
+ parse_obj_as(
736
+ type_=TooManyRequests, # type: ignore
737
+ object_=_response.json(),
738
+ ),
739
+ ),
740
+ )
741
+ _response_json = _response.json()
742
+ except JSONDecodeError:
743
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
744
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
745
+
746
+ async def metadata_field_definitions_index(
747
+ self,
748
+ account_id: Uuid,
749
+ *,
750
+ include: typing.Optional[typing.Literal["creator"]] = None,
751
+ after: typing.Optional[RequestAfterOpaqueCursor] = None,
752
+ page_size: typing.Optional[RequestPageSize] = None,
753
+ include_total_count: typing.Optional[IncludeTotalCount] = None,
754
+ request_options: typing.Optional[RequestOptions] = None,
755
+ ) -> AsyncHttpResponse[FieldDefinitionsWithIncludesResponse]:
756
+ """
757
+ List account level field definitions. <br><br>Rate Limits: 100 calls per 1.00 minute(s) per account
758
+
759
+ Parameters
760
+ ----------
761
+ account_id : Uuid
762
+
763
+
764
+ include : typing.Optional[typing.Literal["creator"]]
765
+
766
+
767
+ after : typing.Optional[RequestAfterOpaqueCursor]
768
+ Opaque Cursor query param for requests returning paginated results.
769
+ <br/>
770
+ NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
771
+
772
+ page_size : typing.Optional[RequestPageSize]
773
+
774
+
775
+ include_total_count : typing.Optional[IncludeTotalCount]
776
+
777
+
778
+ request_options : typing.Optional[RequestOptions]
779
+ Request-specific configuration.
780
+
781
+ Returns
782
+ -------
783
+ AsyncHttpResponse[FieldDefinitionsWithIncludesResponse]
784
+ OK
785
+ """
786
+ _response = await self._client_wrapper.httpx_client.request(
787
+ f"v4/accounts/{jsonable_encoder(account_id)}/metadata/field_definitions",
788
+ method="GET",
789
+ params={
790
+ "include": include,
791
+ "after": after,
792
+ "page_size": page_size,
793
+ "include_total_count": include_total_count,
794
+ },
795
+ request_options=request_options,
796
+ )
797
+ try:
798
+ if 200 <= _response.status_code < 300:
799
+ _data = typing.cast(
800
+ FieldDefinitionsWithIncludesResponse,
801
+ parse_obj_as(
802
+ type_=FieldDefinitionsWithIncludesResponse, # type: ignore
803
+ object_=_response.json(),
804
+ ),
805
+ )
806
+ return AsyncHttpResponse(response=_response, data=_data)
807
+ if _response.status_code == 400:
808
+ raise BadRequestError(
809
+ headers=dict(_response.headers),
810
+ body=typing.cast(
811
+ BadRequest,
812
+ parse_obj_as(
813
+ type_=BadRequest, # type: ignore
814
+ object_=_response.json(),
815
+ ),
816
+ ),
817
+ )
818
+ if _response.status_code == 401:
819
+ raise UnauthorizedError(
820
+ headers=dict(_response.headers),
821
+ body=typing.cast(
822
+ Unauthorized,
823
+ parse_obj_as(
824
+ type_=Unauthorized, # type: ignore
825
+ object_=_response.json(),
826
+ ),
827
+ ),
828
+ )
829
+ if _response.status_code == 403:
830
+ raise ForbiddenError(
831
+ headers=dict(_response.headers),
832
+ body=typing.cast(
833
+ Forbidden,
834
+ parse_obj_as(
835
+ type_=Forbidden, # type: ignore
836
+ object_=_response.json(),
837
+ ),
838
+ ),
839
+ )
840
+ if _response.status_code == 404:
841
+ raise NotFoundError(
842
+ headers=dict(_response.headers),
843
+ body=typing.cast(
844
+ NotFound,
845
+ parse_obj_as(
846
+ type_=NotFound, # type: ignore
847
+ object_=_response.json(),
848
+ ),
849
+ ),
850
+ )
851
+ if _response.status_code == 422:
852
+ raise UnprocessableEntityError(
853
+ headers=dict(_response.headers),
854
+ body=typing.cast(
855
+ typing.Optional[typing.Any],
856
+ parse_obj_as(
857
+ type_=typing.Optional[typing.Any], # type: ignore
858
+ object_=_response.json(),
859
+ ),
860
+ ),
861
+ )
862
+ if _response.status_code == 429:
863
+ raise TooManyRequestsError(
864
+ headers=dict(_response.headers),
865
+ body=typing.cast(
866
+ TooManyRequests,
867
+ parse_obj_as(
868
+ type_=TooManyRequests, # type: ignore
869
+ object_=_response.json(),
870
+ ),
871
+ ),
872
+ )
873
+ _response_json = _response.json()
874
+ except JSONDecodeError:
875
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
876
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
877
+
878
+ async def metadata_field_definitions_create(
879
+ self,
880
+ account_id: Uuid,
881
+ *,
882
+ data: typing.Optional[CreateFieldDefinitionParamsData] = OMIT,
883
+ request_options: typing.Optional[RequestOptions] = None,
884
+ ) -> AsyncHttpResponse[FieldDefinitionResponse]:
885
+ """
886
+ Create account level field definitions. <br><br>Rate Limits: 10 calls per 1.00 minute(s) per account
887
+
888
+ Parameters
889
+ ----------
890
+ account_id : Uuid
891
+
892
+
893
+ data : typing.Optional[CreateFieldDefinitionParamsData]
894
+
895
+ request_options : typing.Optional[RequestOptions]
896
+ Request-specific configuration.
897
+
898
+ Returns
899
+ -------
900
+ AsyncHttpResponse[FieldDefinitionResponse]
901
+ Created
902
+ """
903
+ _response = await self._client_wrapper.httpx_client.request(
904
+ f"v4/accounts/{jsonable_encoder(account_id)}/metadata/field_definitions",
905
+ method="POST",
906
+ json={
907
+ "data": convert_and_respect_annotation_metadata(
908
+ object_=data, annotation=CreateFieldDefinitionParamsData, direction="write"
909
+ ),
910
+ },
911
+ headers={
912
+ "content-type": "application/json",
913
+ },
914
+ request_options=request_options,
915
+ omit=OMIT,
916
+ )
917
+ try:
918
+ if 200 <= _response.status_code < 300:
919
+ _data = typing.cast(
920
+ FieldDefinitionResponse,
921
+ parse_obj_as(
922
+ type_=FieldDefinitionResponse, # type: ignore
923
+ object_=_response.json(),
924
+ ),
925
+ )
926
+ return AsyncHttpResponse(response=_response, data=_data)
927
+ if _response.status_code == 400:
928
+ raise BadRequestError(
929
+ headers=dict(_response.headers),
930
+ body=typing.cast(
931
+ BadRequest,
932
+ parse_obj_as(
933
+ type_=BadRequest, # type: ignore
934
+ object_=_response.json(),
935
+ ),
936
+ ),
937
+ )
938
+ if _response.status_code == 401:
939
+ raise UnauthorizedError(
940
+ headers=dict(_response.headers),
941
+ body=typing.cast(
942
+ Unauthorized,
943
+ parse_obj_as(
944
+ type_=Unauthorized, # type: ignore
945
+ object_=_response.json(),
946
+ ),
947
+ ),
948
+ )
949
+ if _response.status_code == 403:
950
+ raise ForbiddenError(
951
+ headers=dict(_response.headers),
952
+ body=typing.cast(
953
+ Forbidden,
954
+ parse_obj_as(
955
+ type_=Forbidden, # type: ignore
956
+ object_=_response.json(),
957
+ ),
958
+ ),
959
+ )
960
+ if _response.status_code == 404:
961
+ raise NotFoundError(
962
+ headers=dict(_response.headers),
963
+ body=typing.cast(
964
+ NotFound,
965
+ parse_obj_as(
966
+ type_=NotFound, # type: ignore
967
+ object_=_response.json(),
968
+ ),
969
+ ),
970
+ )
971
+ if _response.status_code == 422:
972
+ raise UnprocessableEntityError(
973
+ headers=dict(_response.headers),
974
+ body=typing.cast(
975
+ typing.Optional[typing.Any],
976
+ parse_obj_as(
977
+ type_=typing.Optional[typing.Any], # type: ignore
978
+ object_=_response.json(),
979
+ ),
980
+ ),
981
+ )
982
+ if _response.status_code == 429:
983
+ raise TooManyRequestsError(
984
+ headers=dict(_response.headers),
985
+ body=typing.cast(
986
+ TooManyRequests,
987
+ parse_obj_as(
988
+ type_=TooManyRequests, # type: ignore
989
+ object_=_response.json(),
990
+ ),
991
+ ),
992
+ )
993
+ _response_json = _response.json()
994
+ except JSONDecodeError:
995
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
996
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)