frameio 0.0.28__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 (385) hide show
  1. frameio/__init__.py +1158 -0
  2. frameio/account_permissions/__init__.py +4 -0
  3. frameio/account_permissions/client.py +193 -0
  4. frameio/account_permissions/raw_client.py +333 -0
  5. frameio/accounts/__init__.py +4 -0
  6. frameio/accounts/client.py +162 -0
  7. frameio/accounts/raw_client.py +309 -0
  8. frameio/client.py +439 -0
  9. frameio/comments/__init__.py +38 -0
  10. frameio/comments/client.py +654 -0
  11. frameio/comments/raw_client.py +1316 -0
  12. frameio/comments/types/__init__.py +40 -0
  13. frameio/comments/types/comments_show_request_include.py +5 -0
  14. frameio/comments/types/create_comment_params_data.py +33 -0
  15. frameio/comments/types/update_comment_params_data.py +33 -0
  16. frameio/core/__init__.py +122 -0
  17. frameio/core/api_error.py +23 -0
  18. frameio/core/client_wrapper.py +95 -0
  19. frameio/core/custom_pagination.py +152 -0
  20. frameio/core/datetime_utils.py +28 -0
  21. frameio/core/file.py +67 -0
  22. frameio/core/force_multipart.py +18 -0
  23. frameio/core/http_client.py +663 -0
  24. frameio/core/http_response.py +55 -0
  25. frameio/core/http_sse/__init__.py +42 -0
  26. frameio/core/http_sse/_api.py +112 -0
  27. frameio/core/http_sse/_decoders.py +61 -0
  28. frameio/core/http_sse/_exceptions.py +7 -0
  29. frameio/core/http_sse/_models.py +17 -0
  30. frameio/core/jsonable_encoder.py +100 -0
  31. frameio/core/pagination.py +82 -0
  32. frameio/core/pydantic_utilities.py +361 -0
  33. frameio/core/query_encoder.py +58 -0
  34. frameio/core/remove_none_from_dict.py +11 -0
  35. frameio/core/request_options.py +35 -0
  36. frameio/core/serialization.py +276 -0
  37. frameio/core/unchecked_base_model.py +376 -0
  38. frameio/environment.py +7 -0
  39. frameio/errors/__init__.py +53 -0
  40. frameio/errors/bad_request_error.py +11 -0
  41. frameio/errors/forbidden_error.py +11 -0
  42. frameio/errors/not_found_error.py +11 -0
  43. frameio/errors/too_many_requests_error.py +11 -0
  44. frameio/errors/unauthorized_error.py +11 -0
  45. frameio/errors/unprocessable_entity_error.py +10 -0
  46. frameio/files/__init__.py +58 -0
  47. frameio/files/client.py +1171 -0
  48. frameio/files/raw_client.py +2517 -0
  49. frameio/files/types/__init__.py +56 -0
  50. frameio/files/types/file_copy_params_data.py +15 -0
  51. frameio/files/types/file_create_local_upload_params_data.py +20 -0
  52. frameio/files/types/file_create_params_data.py +31 -0
  53. frameio/files/types/file_create_remote_upload_params_data.py +20 -0
  54. frameio/files/types/file_move_params_data.py +15 -0
  55. frameio/files/types/file_update_params_data.py +15 -0
  56. frameio/files/types/files_copy_request_copy_comments.py +5 -0
  57. frameio/folders/__init__.py +39 -0
  58. frameio/folders/client.py +1004 -0
  59. frameio/folders/raw_client.py +2074 -0
  60. frameio/folders/types/__init__.py +42 -0
  61. frameio/folders/types/folder_copy_params_data.py +15 -0
  62. frameio/folders/types/folder_create_params_data.py +15 -0
  63. frameio/folders/types/folder_move_params_data.py +15 -0
  64. frameio/folders/types/folder_update_params_data.py +15 -0
  65. frameio/metadata/__init__.py +37 -0
  66. frameio/metadata/client.py +293 -0
  67. frameio/metadata/raw_client.py +509 -0
  68. frameio/metadata/types/__init__.py +38 -0
  69. frameio/metadata/types/bulk_update_metadata_params_data.py +23 -0
  70. frameio/metadata/types/bulk_update_metadata_params_data_values_item.py +13 -0
  71. frameio/metadata_fields/__init__.py +103 -0
  72. frameio/metadata_fields/client.py +536 -0
  73. frameio/metadata_fields/raw_client.py +996 -0
  74. frameio/metadata_fields/types/__init__.py +105 -0
  75. frameio/metadata_fields/types/create_field_definition_params_data.py +112 -0
  76. frameio/metadata_fields/types/update_field_definition_params_data.py +118 -0
  77. frameio/project_permissions/__init__.py +4 -0
  78. frameio/project_permissions/client.py +426 -0
  79. frameio/project_permissions/raw_client.py +824 -0
  80. frameio/projects/__init__.py +38 -0
  81. frameio/projects/client.py +604 -0
  82. frameio/projects/raw_client.py +1286 -0
  83. frameio/projects/types/__init__.py +40 -0
  84. frameio/projects/types/project_params_data.py +20 -0
  85. frameio/projects/types/project_update_params_data.py +26 -0
  86. frameio/projects/types/project_update_params_data_status.py +5 -0
  87. frameio/py.typed +0 -0
  88. frameio/shares/__init__.py +64 -0
  89. frameio/shares/client.py +1217 -0
  90. frameio/shares/raw_client.py +2511 -0
  91. frameio/shares/types/__init__.py +61 -0
  92. frameio/shares/types/add_asset_params_data.py +15 -0
  93. frameio/shares/types/add_reviewers_to_share_params_data.py +18 -0
  94. frameio/shares/types/add_reviewers_to_share_params_data_reviewers.py +27 -0
  95. frameio/shares/types/create_share_params_data.py +26 -0
  96. frameio/shares/types/remove_reviewer_params_data.py +13 -0
  97. frameio/shares/types/remove_reviewer_params_data_reviewers.py +27 -0
  98. frameio/shares/types/update_share_params_data.py +34 -0
  99. frameio/shares/types/update_share_params_data_access.py +5 -0
  100. frameio/types/__init__.py +983 -0
  101. frameio/types/account.py +70 -0
  102. frameio/types/account_roles_item.py +5 -0
  103. frameio/types/account_user_role.py +23 -0
  104. frameio/types/account_user_role_role.py +5 -0
  105. frameio/types/account_user_roles_response.py +27 -0
  106. frameio/types/accounts_response.py +23 -0
  107. frameio/types/add_asset_response.py +13 -0
  108. frameio/types/add_asset_response_data.py +15 -0
  109. frameio/types/asset_common.py +48 -0
  110. frameio/types/asset_common_type.py +5 -0
  111. frameio/types/asset_common_with_includes.py +58 -0
  112. frameio/types/asset_common_with_includes_type.py +5 -0
  113. frameio/types/asset_include.py +5 -0
  114. frameio/types/asset_share_params.py +39 -0
  115. frameio/types/asset_share_params_access.py +5 -0
  116. frameio/types/asset_with_includes.py +76 -0
  117. frameio/types/assets_with_includes_response.py +23 -0
  118. frameio/types/bad_request.py +13 -0
  119. frameio/types/bad_request_errors_item.py +15 -0
  120. frameio/types/bad_request_errors_item_source.py +12 -0
  121. frameio/types/boolean_value.py +12 -0
  122. frameio/types/children_type.py +3 -0
  123. frameio/types/comment.py +59 -0
  124. frameio/types/comment_include.py +5 -0
  125. frameio/types/comment_response.py +13 -0
  126. frameio/types/comment_with_includes.py +17 -0
  127. frameio/types/comment_with_includes_response.py +13 -0
  128. frameio/types/comments_with_includes_response.py +23 -0
  129. frameio/types/date_definition.py +49 -0
  130. frameio/types/date_definition_field_configuration.py +21 -0
  131. frameio/types/date_definition_field_configuration_display_format.py +7 -0
  132. frameio/types/date_definition_field_configuration_time_format.py +5 -0
  133. frameio/types/date_definition_field_type.py +10 -0
  134. frameio/types/date_definition_params.py +17 -0
  135. frameio/types/date_definition_params_field_configuration.py +23 -0
  136. frameio/types/date_definition_params_field_configuration_display_format.py +7 -0
  137. frameio/types/date_definition_params_field_configuration_time_format.py +7 -0
  138. frameio/types/date_definition_with_includes.py +13 -0
  139. frameio/types/date_value.py +12 -0
  140. frameio/types/email.py +3 -0
  141. frameio/types/empty_json.py +5 -0
  142. frameio/types/field_definition.py +167 -0
  143. frameio/types/field_definition_include.py +5 -0
  144. frameio/types/field_definition_response.py +13 -0
  145. frameio/types/field_definition_with_includes.py +178 -0
  146. frameio/types/field_definitions_with_includes_response.py +27 -0
  147. frameio/types/field_value_common.py +29 -0
  148. frameio/types/file.py +60 -0
  149. frameio/types/file_copy_response.py +13 -0
  150. frameio/types/file_remote_upload_response.py +17 -0
  151. frameio/types/file_response.py +13 -0
  152. frameio/types/file_status.py +5 -0
  153. frameio/types/file_upload_status.py +41 -0
  154. frameio/types/file_upload_status_response.py +13 -0
  155. frameio/types/file_with_includes.py +25 -0
  156. frameio/types/file_with_includes_response.py +13 -0
  157. frameio/types/file_with_includes_status.py +5 -0
  158. frameio/types/file_with_media_links_include.py +19 -0
  159. frameio/types/file_with_upload_urls.py +16 -0
  160. frameio/types/file_with_upload_urls_response.py +13 -0
  161. frameio/types/folder.py +15 -0
  162. frameio/types/folder_copy_response.py +13 -0
  163. frameio/types/folder_response.py +13 -0
  164. frameio/types/folder_with_includes.py +63 -0
  165. frameio/types/folder_with_includes_response.py +13 -0
  166. frameio/types/folders_with_includes_response.py +23 -0
  167. frameio/types/forbidden.py +13 -0
  168. frameio/types/forbidden_errors_item.py +15 -0
  169. frameio/types/forbidden_errors_item_source.py +12 -0
  170. frameio/types/include.py +5 -0
  171. frameio/types/include_total_count.py +3 -0
  172. frameio/types/integer_value.py +12 -0
  173. frameio/types/json_error_response.py +13 -0
  174. frameio/types/json_error_response_errors_item.py +15 -0
  175. frameio/types/json_error_response_errors_item_source.py +12 -0
  176. frameio/types/links.py +22 -0
  177. frameio/types/long_text_definition.py +49 -0
  178. frameio/types/long_text_definition_field_configuration.py +10 -0
  179. frameio/types/long_text_definition_field_type.py +10 -0
  180. frameio/types/long_text_definition_params.py +15 -0
  181. frameio/types/long_text_definition_with_includes.py +13 -0
  182. frameio/types/media_link_common.py +17 -0
  183. frameio/types/media_links_collection.py +24 -0
  184. frameio/types/metadata_field.py +149 -0
  185. frameio/types/metadata_response.py +13 -0
  186. frameio/types/metadata_with_definition.py +21 -0
  187. frameio/types/multi_select_value.py +14 -0
  188. frameio/types/multi_user_value.py +20 -0
  189. frameio/types/multi_user_value_member_options_type.py +5 -0
  190. frameio/types/no_content.py +3 -0
  191. frameio/types/not_found.py +13 -0
  192. frameio/types/not_found_errors_item.py +15 -0
  193. frameio/types/not_found_errors_item_source.py +12 -0
  194. frameio/types/number_definition.py +43 -0
  195. frameio/types/number_definition_field_configuration.py +21 -0
  196. frameio/types/number_definition_field_configuration_number_format.py +7 -0
  197. frameio/types/number_definition_params.py +17 -0
  198. frameio/types/number_definition_params_field_configuration.py +23 -0
  199. frameio/types/number_definition_params_field_configuration_number_format.py +7 -0
  200. frameio/types/number_definition_with_includes.py +13 -0
  201. frameio/types/number_value.py +12 -0
  202. frameio/types/original_media_link.py +16 -0
  203. frameio/types/profile.py +34 -0
  204. frameio/types/profile_response.py +17 -0
  205. frameio/types/project.py +66 -0
  206. frameio/types/project_include.py +5 -0
  207. frameio/types/project_response.py +17 -0
  208. frameio/types/project_status.py +5 -0
  209. frameio/types/project_with_includes.py +18 -0
  210. frameio/types/project_with_includes_response.py +17 -0
  211. frameio/types/projects_with_includes_response.py +27 -0
  212. frameio/types/rating_definition.py +43 -0
  213. frameio/types/rating_definition_field_configuration.py +22 -0
  214. frameio/types/rating_definition_field_configuration_style.py +5 -0
  215. frameio/types/rating_definition_params.py +17 -0
  216. frameio/types/rating_definition_params_field_configuration.py +22 -0
  217. frameio/types/rating_definition_params_field_configuration_style.py +5 -0
  218. frameio/types/rating_definition_with_includes.py +13 -0
  219. frameio/types/remove_asset_response.py +13 -0
  220. frameio/types/remove_asset_response_data.py +15 -0
  221. frameio/types/rendition_media_link.py +19 -0
  222. frameio/types/request_after_opaque_cursor.py +5 -0
  223. frameio/types/request_page_size.py +3 -0
  224. frameio/types/select_definition.py +43 -0
  225. frameio/types/select_definition_field_configuration.py +18 -0
  226. frameio/types/select_definition_field_configuration_options_item.py +22 -0
  227. frameio/types/select_definition_params.py +17 -0
  228. frameio/types/select_definition_params_field_configuration.py +20 -0
  229. frameio/types/select_definition_params_field_configuration_options_item.py +20 -0
  230. frameio/types/select_definition_with_includes.py +13 -0
  231. frameio/types/select_multi_definition.py +49 -0
  232. frameio/types/select_multi_definition_field_configuration.py +18 -0
  233. frameio/types/select_multi_definition_field_configuration_options_item.py +22 -0
  234. frameio/types/select_multi_definition_field_type.py +10 -0
  235. frameio/types/select_multi_definition_params.py +17 -0
  236. frameio/types/select_multi_definition_params_field_configuration.py +20 -0
  237. frameio/types/select_multi_definition_params_field_configuration_options_item.py +20 -0
  238. frameio/types/select_multi_definition_with_includes.py +13 -0
  239. frameio/types/select_option.py +20 -0
  240. frameio/types/select_value.py +14 -0
  241. frameio/types/share.py +66 -0
  242. frameio/types/share_access.py +5 -0
  243. frameio/types/share_response.py +13 -0
  244. frameio/types/share_reviewers_response.py +27 -0
  245. frameio/types/shares_response.py +27 -0
  246. frameio/types/single_user_value.py +20 -0
  247. frameio/types/single_user_value_member_options_type.py +5 -0
  248. frameio/types/text_definition.py +49 -0
  249. frameio/types/text_definition_field_configuration.py +10 -0
  250. frameio/types/text_definition_field_type.py +10 -0
  251. frameio/types/text_definition_params.py +15 -0
  252. frameio/types/text_definition_with_includes.py +13 -0
  253. frameio/types/text_value.py +12 -0
  254. frameio/types/time_stamp.py +5 -0
  255. frameio/types/toggle_definition.py +43 -0
  256. frameio/types/toggle_definition_field_configuration.py +15 -0
  257. frameio/types/toggle_definition_params.py +17 -0
  258. frameio/types/toggle_definition_params_field_configuration.py +15 -0
  259. frameio/types/toggle_definition_with_includes.py +13 -0
  260. frameio/types/too_many_requests.py +13 -0
  261. frameio/types/too_many_requests_errors_item.py +15 -0
  262. frameio/types/too_many_requests_errors_item_source.py +12 -0
  263. frameio/types/unauthorized.py +13 -0
  264. frameio/types/unauthorized_errors_item.py +15 -0
  265. frameio/types/unauthorized_errors_item_source.py +12 -0
  266. frameio/types/unprocessable_entity.py +13 -0
  267. frameio/types/unprocessable_entity_errors_item.py +15 -0
  268. frameio/types/unprocessable_entity_errors_item_source.py +12 -0
  269. frameio/types/update_date_definition_params.py +17 -0
  270. frameio/types/update_date_definition_params_field_configuration.py +25 -0
  271. frameio/types/update_date_definition_params_field_configuration_display_format.py +7 -0
  272. frameio/types/update_date_definition_params_field_configuration_time_format.py +7 -0
  273. frameio/types/update_long_text_definition_params.py +15 -0
  274. frameio/types/update_number_definition_params.py +17 -0
  275. frameio/types/update_number_definition_params_field_configuration.py +25 -0
  276. frameio/types/update_number_definition_params_field_configuration_number_format.py +7 -0
  277. frameio/types/update_rating_definition_params.py +17 -0
  278. frameio/types/update_rating_definition_params_field_configuration.py +24 -0
  279. frameio/types/update_rating_definition_params_field_configuration_style.py +7 -0
  280. frameio/types/update_select_definition_params.py +17 -0
  281. frameio/types/update_select_definition_params_field_configuration.py +20 -0
  282. frameio/types/update_select_definition_params_field_configuration_options_item.py +20 -0
  283. frameio/types/update_select_multi_definition_params.py +19 -0
  284. frameio/types/update_select_multi_definition_params_field_configuration.py +20 -0
  285. frameio/types/update_select_multi_definition_params_field_configuration_options_item.py +20 -0
  286. frameio/types/update_text_definition_params.py +15 -0
  287. frameio/types/update_toggle_definition_params.py +17 -0
  288. frameio/types/update_toggle_definition_params_field_configuration.py +15 -0
  289. frameio/types/update_user_multi_definition_params.py +17 -0
  290. frameio/types/update_user_multi_definition_params_field_configuration.py +25 -0
  291. frameio/types/update_user_multi_definition_params_field_configuration_custom_members_item.py +20 -0
  292. frameio/types/update_user_multi_definition_params_field_configuration_custom_members_item_type.py +7 -0
  293. frameio/types/update_user_multi_definition_params_field_configuration_member_options_type.py +7 -0
  294. frameio/types/update_user_roles_params.py +17 -0
  295. frameio/types/update_user_roles_params_data.py +13 -0
  296. frameio/types/update_user_roles_params_data_role.py +7 -0
  297. frameio/types/update_user_roles_response.py +13 -0
  298. frameio/types/update_user_roles_response_data.py +13 -0
  299. frameio/types/update_user_roles_response_data_role.py +7 -0
  300. frameio/types/update_user_single_definition_params.py +17 -0
  301. frameio/types/update_user_single_definition_params_field_configuration.py +25 -0
  302. frameio/types/update_user_single_definition_params_field_configuration_custom_members_item.py +20 -0
  303. frameio/types/update_user_single_definition_params_field_configuration_custom_members_item_type.py +7 -0
  304. frameio/types/update_user_single_definition_params_field_configuration_member_options_type.py +7 -0
  305. frameio/types/upload_url.py +20 -0
  306. frameio/types/user.py +44 -0
  307. frameio/types/user_multi_definition.py +49 -0
  308. frameio/types/user_multi_definition_field_configuration.py +23 -0
  309. frameio/types/user_multi_definition_field_configuration_custom_members_item.py +20 -0
  310. frameio/types/user_multi_definition_field_configuration_custom_members_item_type.py +7 -0
  311. frameio/types/user_multi_definition_field_configuration_member_options_type.py +7 -0
  312. frameio/types/user_multi_definition_field_type.py +10 -0
  313. frameio/types/user_multi_definition_params.py +17 -0
  314. frameio/types/user_multi_definition_params_field_configuration.py +23 -0
  315. frameio/types/user_multi_definition_params_field_configuration_custom_members_item.py +20 -0
  316. frameio/types/user_multi_definition_params_field_configuration_custom_members_item_type.py +7 -0
  317. frameio/types/user_multi_definition_params_field_configuration_member_options_type.py +7 -0
  318. frameio/types/user_multi_definition_with_includes.py +13 -0
  319. frameio/types/user_role.py +19 -0
  320. frameio/types/user_role_role.py +7 -0
  321. frameio/types/user_roles_response.py +27 -0
  322. frameio/types/user_single_definition.py +49 -0
  323. frameio/types/user_single_definition_field_configuration.py +23 -0
  324. frameio/types/user_single_definition_field_configuration_custom_members_item.py +20 -0
  325. frameio/types/user_single_definition_field_configuration_custom_members_item_type.py +7 -0
  326. frameio/types/user_single_definition_field_configuration_member_options_type.py +7 -0
  327. frameio/types/user_single_definition_field_type.py +10 -0
  328. frameio/types/user_single_definition_params.py +17 -0
  329. frameio/types/user_single_definition_params_field_configuration.py +23 -0
  330. frameio/types/user_single_definition_params_field_configuration_custom_members_item.py +20 -0
  331. frameio/types/user_single_definition_params_field_configuration_custom_members_item_type.py +7 -0
  332. frameio/types/user_single_definition_params_field_configuration_member_options_type.py +7 -0
  333. frameio/types/user_single_definition_with_includes.py +13 -0
  334. frameio/types/user_value.py +18 -0
  335. frameio/types/user_value_type.py +5 -0
  336. frameio/types/uuid_.py +3 -0
  337. frameio/types/version_stack.py +50 -0
  338. frameio/types/version_stack_copy_response.py +13 -0
  339. frameio/types/version_stack_response.py +13 -0
  340. frameio/types/version_stack_with_includes.py +60 -0
  341. frameio/types/version_stack_with_includes_response.py +13 -0
  342. frameio/types/version_stacks_with_includes_response.py +19 -0
  343. frameio/types/webhook.py +36 -0
  344. frameio/types/webhook_create_response.py +17 -0
  345. frameio/types/webhook_create_response_data.py +15 -0
  346. frameio/types/webhook_events.py +5 -0
  347. frameio/types/webhook_response.py +13 -0
  348. frameio/types/webhook_with_includes.py +13 -0
  349. frameio/types/webhook_with_includes_response.py +13 -0
  350. frameio/types/webhooks_with_includes_response.py +23 -0
  351. frameio/types/workspace.py +40 -0
  352. frameio/types/workspace_include.py +5 -0
  353. frameio/types/workspace_params.py +17 -0
  354. frameio/types/workspace_params_data.py +15 -0
  355. frameio/types/workspace_response.py +17 -0
  356. frameio/types/workspace_with_includes.py +13 -0
  357. frameio/types/workspace_with_includes_response.py +17 -0
  358. frameio/types/workspaces_with_includes_response.py +27 -0
  359. frameio/users/__init__.py +4 -0
  360. frameio/users/client.py +100 -0
  361. frameio/users/raw_client.py +234 -0
  362. frameio/version.py +3 -0
  363. frameio/version_stacks/__init__.py +49 -0
  364. frameio/version_stacks/client.py +818 -0
  365. frameio/version_stacks/raw_client.py +1614 -0
  366. frameio/version_stacks/types/__init__.py +47 -0
  367. frameio/version_stacks/types/version_stack_copy_params_data.py +15 -0
  368. frameio/version_stacks/types/version_stack_create_params_data.py +19 -0
  369. frameio/version_stacks/types/version_stack_move_params_data.py +15 -0
  370. frameio/version_stacks/types/version_stacks_show_request_include.py +19 -0
  371. frameio/webhooks/__init__.py +34 -0
  372. frameio/webhooks/client.py +793 -0
  373. frameio/webhooks/raw_client.py +1347 -0
  374. frameio/webhooks/types/__init__.py +38 -0
  375. frameio/webhooks/types/webhook_create_params_data.py +18 -0
  376. frameio/webhooks/types/webhook_update_params_data.py +23 -0
  377. frameio/workspace_permissions/__init__.py +4 -0
  378. frameio/workspace_permissions/client.py +430 -0
  379. frameio/workspace_permissions/raw_client.py +824 -0
  380. frameio/workspaces/__init__.py +4 -0
  381. frameio/workspaces/client.py +563 -0
  382. frameio/workspaces/raw_client.py +1259 -0
  383. frameio-0.0.28.dist-info/METADATA +259 -0
  384. frameio-0.0.28.dist-info/RECORD +385 -0
  385. frameio-0.0.28.dist-info/WHEEL +4 -0
@@ -0,0 +1,1217 @@
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.pagination import AsyncPager, SyncPager
7
+ from ..core.request_options import RequestOptions
8
+ from ..types.add_asset_response import AddAssetResponse
9
+ from ..types.include_total_count import IncludeTotalCount
10
+ from ..types.remove_asset_response import RemoveAssetResponse
11
+ from ..types.request_after_opaque_cursor import RequestAfterOpaqueCursor
12
+ from ..types.request_page_size import RequestPageSize
13
+ from ..types.share import Share
14
+ from ..types.share_response import ShareResponse
15
+ from ..types.share_reviewers_response import ShareReviewersResponse
16
+ from ..types.shares_response import SharesResponse
17
+ from ..types.user import User
18
+ from ..types.uuid_ import Uuid
19
+ from .raw_client import AsyncRawSharesClient, RawSharesClient
20
+ from .types.add_asset_params_data import AddAssetParamsData
21
+ from .types.add_reviewers_to_share_params_data import AddReviewersToShareParamsData
22
+ from .types.create_share_params_data import CreateShareParamsData
23
+ from .types.remove_reviewer_params_data import RemoveReviewerParamsData
24
+ from .types.update_share_params_data import UpdateShareParamsData
25
+
26
+ # this is used as the default value for optional parameters
27
+ OMIT = typing.cast(typing.Any, ...)
28
+
29
+
30
+ class SharesClient:
31
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
32
+ self._raw_client = RawSharesClient(client_wrapper=client_wrapper)
33
+
34
+ @property
35
+ def with_raw_response(self) -> RawSharesClient:
36
+ """
37
+ Retrieves a raw implementation of this client that returns raw responses.
38
+
39
+ Returns
40
+ -------
41
+ RawSharesClient
42
+ """
43
+ return self._raw_client
44
+
45
+ def show(
46
+ self, account_id: Uuid, share_id: Uuid, *, request_options: typing.Optional[RequestOptions] = None
47
+ ) -> ShareResponse:
48
+ """
49
+ Show a single Share. <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
50
+
51
+ Parameters
52
+ ----------
53
+ account_id : Uuid
54
+
55
+
56
+ share_id : Uuid
57
+
58
+
59
+ request_options : typing.Optional[RequestOptions]
60
+ Request-specific configuration.
61
+
62
+ Returns
63
+ -------
64
+ ShareResponse
65
+ OK
66
+
67
+ Examples
68
+ --------
69
+ from frameio import Frameio
70
+
71
+ client = Frameio(
72
+ token="YOUR_TOKEN",
73
+ )
74
+ client.shares.show(
75
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
76
+ share_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
77
+ )
78
+ """
79
+ _response = self._raw_client.show(account_id, share_id, request_options=request_options)
80
+ return _response.data
81
+
82
+ def delete(
83
+ self, account_id: Uuid, share_id: Uuid, *, request_options: typing.Optional[RequestOptions] = None
84
+ ) -> None:
85
+ """
86
+ Delete a share. <br>Rate Limits: 60 calls per 1.00 minute(s) per account_user
87
+
88
+ Parameters
89
+ ----------
90
+ account_id : Uuid
91
+
92
+
93
+ share_id : Uuid
94
+
95
+
96
+ request_options : typing.Optional[RequestOptions]
97
+ Request-specific configuration.
98
+
99
+ Returns
100
+ -------
101
+ None
102
+
103
+ Examples
104
+ --------
105
+ from frameio import Frameio
106
+
107
+ client = Frameio(
108
+ token="YOUR_TOKEN",
109
+ )
110
+ client.shares.delete(
111
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
112
+ share_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
113
+ )
114
+ """
115
+ _response = self._raw_client.delete(account_id, share_id, request_options=request_options)
116
+ return _response.data
117
+
118
+ def update(
119
+ self,
120
+ account_id: Uuid,
121
+ share_id: Uuid,
122
+ *,
123
+ data: UpdateShareParamsData,
124
+ request_options: typing.Optional[RequestOptions] = None,
125
+ ) -> ShareResponse:
126
+ """
127
+ Update share. <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
128
+
129
+ Parameters
130
+ ----------
131
+ account_id : Uuid
132
+
133
+
134
+ share_id : Uuid
135
+
136
+
137
+ data : UpdateShareParamsData
138
+
139
+ request_options : typing.Optional[RequestOptions]
140
+ Request-specific configuration.
141
+
142
+ Returns
143
+ -------
144
+ ShareResponse
145
+ OK
146
+
147
+ Examples
148
+ --------
149
+ import datetime
150
+
151
+ from frameio import Frameio
152
+ from frameio.shares import UpdateShareParamsData
153
+
154
+ client = Frameio(
155
+ token="YOUR_TOKEN",
156
+ )
157
+ client.shares.update(
158
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
159
+ share_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
160
+ data=UpdateShareParamsData(
161
+ access="public",
162
+ description="A descriptive summary of the share",
163
+ downloading_enabled=True,
164
+ expiration=datetime.datetime.fromisoformat(
165
+ "2026-01-12 23:28:07+00:00",
166
+ ),
167
+ name="Share Name",
168
+ passphrase="as!dfj39sd(*",
169
+ ),
170
+ )
171
+ """
172
+ _response = self._raw_client.update(account_id, share_id, data=data, request_options=request_options)
173
+ return _response.data
174
+
175
+ def list_reviewers(
176
+ self,
177
+ account_id: Uuid,
178
+ share_id: Uuid,
179
+ *,
180
+ after: typing.Optional[RequestAfterOpaqueCursor] = None,
181
+ page_size: typing.Optional[RequestPageSize] = None,
182
+ include_total_count: typing.Optional[IncludeTotalCount] = None,
183
+ request_options: typing.Optional[RequestOptions] = None,
184
+ ) -> SyncPager[User, ShareReviewersResponse]:
185
+ """
186
+ List share reviewers. <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
187
+
188
+ Parameters
189
+ ----------
190
+ account_id : Uuid
191
+
192
+
193
+ share_id : Uuid
194
+
195
+
196
+ after : typing.Optional[RequestAfterOpaqueCursor]
197
+ Opaque Cursor query param for requests returning paginated results.
198
+ <br/>
199
+ NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
200
+
201
+ page_size : typing.Optional[RequestPageSize]
202
+
203
+
204
+ include_total_count : typing.Optional[IncludeTotalCount]
205
+
206
+
207
+ request_options : typing.Optional[RequestOptions]
208
+ Request-specific configuration.
209
+
210
+ Returns
211
+ -------
212
+ SyncPager[User, ShareReviewersResponse]
213
+ OK
214
+
215
+ Examples
216
+ --------
217
+ from frameio import Frameio
218
+
219
+ client = Frameio(
220
+ token="YOUR_TOKEN",
221
+ )
222
+ response = client.shares.list_reviewers(
223
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
224
+ share_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
225
+ after="<opaque_cursor>",
226
+ page_size=10,
227
+ include_total_count=False,
228
+ )
229
+ for item in response:
230
+ yield item
231
+ # alternatively, you can paginate page-by-page
232
+ for page in response.iter_pages():
233
+ yield page
234
+ """
235
+ return self._raw_client.list_reviewers(
236
+ account_id,
237
+ share_id,
238
+ after=after,
239
+ page_size=page_size,
240
+ include_total_count=include_total_count,
241
+ request_options=request_options,
242
+ )
243
+
244
+ def add_reviewers(
245
+ self,
246
+ account_id: Uuid,
247
+ share_id: Uuid,
248
+ *,
249
+ data: AddReviewersToShareParamsData,
250
+ request_options: typing.Optional[RequestOptions] = None,
251
+ ) -> None:
252
+ """
253
+ Add reviewers to secure share by three identifier types: `adobe_user_id`, `email`, and `user_id`.
254
+ <br>
255
+ A request can only include one identifier type parameter.
256
+ <br>
257
+ `email` is the only identifier able to add reviewers to a Share who don't have a Frame account member on the account where the Share belongs.
258
+ <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
259
+
260
+ Parameters
261
+ ----------
262
+ account_id : Uuid
263
+
264
+
265
+ share_id : Uuid
266
+
267
+
268
+ data : AddReviewersToShareParamsData
269
+
270
+ request_options : typing.Optional[RequestOptions]
271
+ Request-specific configuration.
272
+
273
+ Returns
274
+ -------
275
+ None
276
+
277
+ Examples
278
+ --------
279
+ from frameio import Frameio
280
+ from frameio.shares import (
281
+ AddReviewersToShareParamsData,
282
+ AddReviewersToShareParamsDataReviewers,
283
+ )
284
+
285
+ client = Frameio(
286
+ token="YOUR_TOKEN",
287
+ )
288
+ client.shares.add_reviewers(
289
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
290
+ share_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
291
+ data=AddReviewersToShareParamsData(
292
+ message="Please join my share!",
293
+ reviewers=AddReviewersToShareParamsDataReviewers(
294
+ emails=["email1@domain.com", "email2@domain.com"],
295
+ ),
296
+ ),
297
+ )
298
+ """
299
+ _response = self._raw_client.add_reviewers(account_id, share_id, data=data, request_options=request_options)
300
+ return _response.data
301
+
302
+ def remove_reviewers(
303
+ self,
304
+ account_id: Uuid,
305
+ share_id: Uuid,
306
+ *,
307
+ data: RemoveReviewerParamsData,
308
+ request_options: typing.Optional[RequestOptions] = None,
309
+ ) -> None:
310
+ """
311
+ Removes reviewers from secure Share by three identifier types: `adobe_user_id`, `email`, and `user_id`.
312
+ <br>
313
+ A request can only include one identifier type parameter.
314
+ <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
315
+
316
+ Parameters
317
+ ----------
318
+ account_id : Uuid
319
+
320
+
321
+ share_id : Uuid
322
+
323
+
324
+ data : RemoveReviewerParamsData
325
+
326
+ request_options : typing.Optional[RequestOptions]
327
+ Request-specific configuration.
328
+
329
+ Returns
330
+ -------
331
+ None
332
+
333
+ Examples
334
+ --------
335
+ from frameio import Frameio
336
+ from frameio.shares import (
337
+ RemoveReviewerParamsData,
338
+ RemoveReviewerParamsDataReviewers,
339
+ )
340
+
341
+ client = Frameio(
342
+ token="YOUR_TOKEN",
343
+ )
344
+ client.shares.remove_reviewers(
345
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
346
+ share_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
347
+ data=RemoveReviewerParamsData(
348
+ reviewers=RemoveReviewerParamsDataReviewers(
349
+ adobe_user_ids=[
350
+ "2A3C1A3D66C621B20A494021@176719f5667c82b4499999.e"
351
+ ],
352
+ ),
353
+ ),
354
+ )
355
+ """
356
+ _response = self._raw_client.remove_reviewers(account_id, share_id, data=data, request_options=request_options)
357
+ return _response.data
358
+
359
+ def remove_asset(
360
+ self,
361
+ account_id: Uuid,
362
+ share_id: Uuid,
363
+ asset_id: Uuid,
364
+ *,
365
+ request_options: typing.Optional[RequestOptions] = None,
366
+ ) -> RemoveAssetResponse:
367
+ """
368
+ Remove an asset currently in the share from that share. <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
369
+
370
+ Parameters
371
+ ----------
372
+ account_id : Uuid
373
+
374
+
375
+ share_id : Uuid
376
+
377
+
378
+ asset_id : Uuid
379
+
380
+
381
+ request_options : typing.Optional[RequestOptions]
382
+ Request-specific configuration.
383
+
384
+ Returns
385
+ -------
386
+ RemoveAssetResponse
387
+ OK
388
+
389
+ Examples
390
+ --------
391
+ from frameio import Frameio
392
+
393
+ client = Frameio(
394
+ token="YOUR_TOKEN",
395
+ )
396
+ client.shares.remove_asset(
397
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
398
+ share_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
399
+ asset_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
400
+ )
401
+ """
402
+ _response = self._raw_client.remove_asset(account_id, share_id, asset_id, request_options=request_options)
403
+ return _response.data
404
+
405
+ def add_asset(
406
+ self,
407
+ account_id: Uuid,
408
+ share_id: Uuid,
409
+ *,
410
+ data: AddAssetParamsData,
411
+ request_options: typing.Optional[RequestOptions] = None,
412
+ ) -> AddAssetResponse:
413
+ """
414
+ Add new asset share. <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
415
+
416
+ Parameters
417
+ ----------
418
+ account_id : Uuid
419
+
420
+
421
+ share_id : Uuid
422
+
423
+
424
+ data : AddAssetParamsData
425
+
426
+ request_options : typing.Optional[RequestOptions]
427
+ Request-specific configuration.
428
+
429
+ Returns
430
+ -------
431
+ AddAssetResponse
432
+ OK
433
+
434
+ Examples
435
+ --------
436
+ from frameio import Frameio
437
+ from frameio.shares import AddAssetParamsData
438
+
439
+ client = Frameio(
440
+ token="YOUR_TOKEN",
441
+ )
442
+ client.shares.add_asset(
443
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
444
+ share_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
445
+ data=AddAssetParamsData(
446
+ asset_id="893396e8-f6da-4167-aa09-1fd22101df82",
447
+ ),
448
+ )
449
+ """
450
+ _response = self._raw_client.add_asset(account_id, share_id, data=data, request_options=request_options)
451
+ return _response.data
452
+
453
+ def index(
454
+ self,
455
+ account_id: Uuid,
456
+ project_id: Uuid,
457
+ *,
458
+ after: typing.Optional[RequestAfterOpaqueCursor] = None,
459
+ page_size: typing.Optional[RequestPageSize] = None,
460
+ include_total_count: typing.Optional[IncludeTotalCount] = None,
461
+ request_options: typing.Optional[RequestOptions] = None,
462
+ ) -> SyncPager[Share, SharesResponse]:
463
+ """
464
+ List shares on a project. <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
465
+
466
+ Parameters
467
+ ----------
468
+ account_id : Uuid
469
+
470
+
471
+ project_id : Uuid
472
+
473
+
474
+ after : typing.Optional[RequestAfterOpaqueCursor]
475
+ Opaque Cursor query param for requests returning paginated results.
476
+ <br/>
477
+ NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
478
+
479
+ page_size : typing.Optional[RequestPageSize]
480
+
481
+
482
+ include_total_count : typing.Optional[IncludeTotalCount]
483
+
484
+
485
+ request_options : typing.Optional[RequestOptions]
486
+ Request-specific configuration.
487
+
488
+ Returns
489
+ -------
490
+ SyncPager[Share, SharesResponse]
491
+ OK
492
+
493
+ Examples
494
+ --------
495
+ from frameio import Frameio
496
+
497
+ client = Frameio(
498
+ token="YOUR_TOKEN",
499
+ )
500
+ response = client.shares.index(
501
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
502
+ project_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
503
+ after="<opaque_cursor>",
504
+ page_size=10,
505
+ include_total_count=False,
506
+ )
507
+ for item in response:
508
+ yield item
509
+ # alternatively, you can paginate page-by-page
510
+ for page in response.iter_pages():
511
+ yield page
512
+ """
513
+ return self._raw_client.index(
514
+ account_id,
515
+ project_id,
516
+ after=after,
517
+ page_size=page_size,
518
+ include_total_count=include_total_count,
519
+ request_options=request_options,
520
+ )
521
+
522
+ def create(
523
+ self,
524
+ account_id: Uuid,
525
+ project_id: Uuid,
526
+ *,
527
+ data: CreateShareParamsData,
528
+ request_options: typing.Optional[RequestOptions] = None,
529
+ ) -> ShareResponse:
530
+ """
531
+ Create share. <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
532
+
533
+ Parameters
534
+ ----------
535
+ account_id : Uuid
536
+
537
+
538
+ project_id : Uuid
539
+
540
+
541
+ data : CreateShareParamsData
542
+
543
+ request_options : typing.Optional[RequestOptions]
544
+ Request-specific configuration.
545
+
546
+ Returns
547
+ -------
548
+ ShareResponse
549
+ Created
550
+
551
+ Examples
552
+ --------
553
+ import datetime
554
+
555
+ from frameio import Frameio
556
+ from frameio.shares import CreateShareParamsData_Asset
557
+
558
+ client = Frameio(
559
+ token="YOUR_TOKEN",
560
+ )
561
+ client.shares.create(
562
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
563
+ project_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
564
+ data=CreateShareParamsData_Asset(
565
+ access="public",
566
+ asset_ids=[
567
+ "65796db9-475d-4673-81ed-99c37a0282c6",
568
+ "f5c71ec3-0a32-466f-9c2e-8c0a0f25f1b7",
569
+ ],
570
+ downloading_enabled=True,
571
+ expiration=datetime.datetime.fromisoformat(
572
+ "2026-01-12 23:28:07+00:00",
573
+ ),
574
+ name="Share Name",
575
+ passphrase="as!dfj39sd(*",
576
+ ),
577
+ )
578
+ """
579
+ _response = self._raw_client.create(account_id, project_id, data=data, request_options=request_options)
580
+ return _response.data
581
+
582
+
583
+ class AsyncSharesClient:
584
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
585
+ self._raw_client = AsyncRawSharesClient(client_wrapper=client_wrapper)
586
+
587
+ @property
588
+ def with_raw_response(self) -> AsyncRawSharesClient:
589
+ """
590
+ Retrieves a raw implementation of this client that returns raw responses.
591
+
592
+ Returns
593
+ -------
594
+ AsyncRawSharesClient
595
+ """
596
+ return self._raw_client
597
+
598
+ async def show(
599
+ self, account_id: Uuid, share_id: Uuid, *, request_options: typing.Optional[RequestOptions] = None
600
+ ) -> ShareResponse:
601
+ """
602
+ Show a single Share. <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
603
+
604
+ Parameters
605
+ ----------
606
+ account_id : Uuid
607
+
608
+
609
+ share_id : Uuid
610
+
611
+
612
+ request_options : typing.Optional[RequestOptions]
613
+ Request-specific configuration.
614
+
615
+ Returns
616
+ -------
617
+ ShareResponse
618
+ OK
619
+
620
+ Examples
621
+ --------
622
+ import asyncio
623
+
624
+ from frameio import AsyncFrameio
625
+
626
+ client = AsyncFrameio(
627
+ token="YOUR_TOKEN",
628
+ )
629
+
630
+
631
+ async def main() -> None:
632
+ await client.shares.show(
633
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
634
+ share_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
635
+ )
636
+
637
+
638
+ asyncio.run(main())
639
+ """
640
+ _response = await self._raw_client.show(account_id, share_id, request_options=request_options)
641
+ return _response.data
642
+
643
+ async def delete(
644
+ self, account_id: Uuid, share_id: Uuid, *, request_options: typing.Optional[RequestOptions] = None
645
+ ) -> None:
646
+ """
647
+ Delete a share. <br>Rate Limits: 60 calls per 1.00 minute(s) per account_user
648
+
649
+ Parameters
650
+ ----------
651
+ account_id : Uuid
652
+
653
+
654
+ share_id : Uuid
655
+
656
+
657
+ request_options : typing.Optional[RequestOptions]
658
+ Request-specific configuration.
659
+
660
+ Returns
661
+ -------
662
+ None
663
+
664
+ Examples
665
+ --------
666
+ import asyncio
667
+
668
+ from frameio import AsyncFrameio
669
+
670
+ client = AsyncFrameio(
671
+ token="YOUR_TOKEN",
672
+ )
673
+
674
+
675
+ async def main() -> None:
676
+ await client.shares.delete(
677
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
678
+ share_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
679
+ )
680
+
681
+
682
+ asyncio.run(main())
683
+ """
684
+ _response = await self._raw_client.delete(account_id, share_id, request_options=request_options)
685
+ return _response.data
686
+
687
+ async def update(
688
+ self,
689
+ account_id: Uuid,
690
+ share_id: Uuid,
691
+ *,
692
+ data: UpdateShareParamsData,
693
+ request_options: typing.Optional[RequestOptions] = None,
694
+ ) -> ShareResponse:
695
+ """
696
+ Update share. <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
697
+
698
+ Parameters
699
+ ----------
700
+ account_id : Uuid
701
+
702
+
703
+ share_id : Uuid
704
+
705
+
706
+ data : UpdateShareParamsData
707
+
708
+ request_options : typing.Optional[RequestOptions]
709
+ Request-specific configuration.
710
+
711
+ Returns
712
+ -------
713
+ ShareResponse
714
+ OK
715
+
716
+ Examples
717
+ --------
718
+ import asyncio
719
+ import datetime
720
+
721
+ from frameio import AsyncFrameio
722
+ from frameio.shares import UpdateShareParamsData
723
+
724
+ client = AsyncFrameio(
725
+ token="YOUR_TOKEN",
726
+ )
727
+
728
+
729
+ async def main() -> None:
730
+ await client.shares.update(
731
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
732
+ share_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
733
+ data=UpdateShareParamsData(
734
+ access="public",
735
+ description="A descriptive summary of the share",
736
+ downloading_enabled=True,
737
+ expiration=datetime.datetime.fromisoformat(
738
+ "2026-01-12 23:28:07+00:00",
739
+ ),
740
+ name="Share Name",
741
+ passphrase="as!dfj39sd(*",
742
+ ),
743
+ )
744
+
745
+
746
+ asyncio.run(main())
747
+ """
748
+ _response = await self._raw_client.update(account_id, share_id, data=data, request_options=request_options)
749
+ return _response.data
750
+
751
+ async def list_reviewers(
752
+ self,
753
+ account_id: Uuid,
754
+ share_id: Uuid,
755
+ *,
756
+ after: typing.Optional[RequestAfterOpaqueCursor] = None,
757
+ page_size: typing.Optional[RequestPageSize] = None,
758
+ include_total_count: typing.Optional[IncludeTotalCount] = None,
759
+ request_options: typing.Optional[RequestOptions] = None,
760
+ ) -> AsyncPager[User, ShareReviewersResponse]:
761
+ """
762
+ List share reviewers. <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
763
+
764
+ Parameters
765
+ ----------
766
+ account_id : Uuid
767
+
768
+
769
+ share_id : Uuid
770
+
771
+
772
+ after : typing.Optional[RequestAfterOpaqueCursor]
773
+ Opaque Cursor query param for requests returning paginated results.
774
+ <br/>
775
+ NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
776
+
777
+ page_size : typing.Optional[RequestPageSize]
778
+
779
+
780
+ include_total_count : typing.Optional[IncludeTotalCount]
781
+
782
+
783
+ request_options : typing.Optional[RequestOptions]
784
+ Request-specific configuration.
785
+
786
+ Returns
787
+ -------
788
+ AsyncPager[User, ShareReviewersResponse]
789
+ OK
790
+
791
+ Examples
792
+ --------
793
+ import asyncio
794
+
795
+ from frameio import AsyncFrameio
796
+
797
+ client = AsyncFrameio(
798
+ token="YOUR_TOKEN",
799
+ )
800
+
801
+
802
+ async def main() -> None:
803
+ response = await client.shares.list_reviewers(
804
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
805
+ share_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
806
+ after="<opaque_cursor>",
807
+ page_size=10,
808
+ include_total_count=False,
809
+ )
810
+ async for item in response:
811
+ yield item
812
+
813
+ # alternatively, you can paginate page-by-page
814
+ async for page in response.iter_pages():
815
+ yield page
816
+
817
+
818
+ asyncio.run(main())
819
+ """
820
+ return await self._raw_client.list_reviewers(
821
+ account_id,
822
+ share_id,
823
+ after=after,
824
+ page_size=page_size,
825
+ include_total_count=include_total_count,
826
+ request_options=request_options,
827
+ )
828
+
829
+ async def add_reviewers(
830
+ self,
831
+ account_id: Uuid,
832
+ share_id: Uuid,
833
+ *,
834
+ data: AddReviewersToShareParamsData,
835
+ request_options: typing.Optional[RequestOptions] = None,
836
+ ) -> None:
837
+ """
838
+ Add reviewers to secure share by three identifier types: `adobe_user_id`, `email`, and `user_id`.
839
+ <br>
840
+ A request can only include one identifier type parameter.
841
+ <br>
842
+ `email` is the only identifier able to add reviewers to a Share who don't have a Frame account member on the account where the Share belongs.
843
+ <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
844
+
845
+ Parameters
846
+ ----------
847
+ account_id : Uuid
848
+
849
+
850
+ share_id : Uuid
851
+
852
+
853
+ data : AddReviewersToShareParamsData
854
+
855
+ request_options : typing.Optional[RequestOptions]
856
+ Request-specific configuration.
857
+
858
+ Returns
859
+ -------
860
+ None
861
+
862
+ Examples
863
+ --------
864
+ import asyncio
865
+
866
+ from frameio import AsyncFrameio
867
+ from frameio.shares import (
868
+ AddReviewersToShareParamsData,
869
+ AddReviewersToShareParamsDataReviewers,
870
+ )
871
+
872
+ client = AsyncFrameio(
873
+ token="YOUR_TOKEN",
874
+ )
875
+
876
+
877
+ async def main() -> None:
878
+ await client.shares.add_reviewers(
879
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
880
+ share_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
881
+ data=AddReviewersToShareParamsData(
882
+ message="Please join my share!",
883
+ reviewers=AddReviewersToShareParamsDataReviewers(
884
+ emails=["email1@domain.com", "email2@domain.com"],
885
+ ),
886
+ ),
887
+ )
888
+
889
+
890
+ asyncio.run(main())
891
+ """
892
+ _response = await self._raw_client.add_reviewers(
893
+ account_id, share_id, data=data, request_options=request_options
894
+ )
895
+ return _response.data
896
+
897
+ async def remove_reviewers(
898
+ self,
899
+ account_id: Uuid,
900
+ share_id: Uuid,
901
+ *,
902
+ data: RemoveReviewerParamsData,
903
+ request_options: typing.Optional[RequestOptions] = None,
904
+ ) -> None:
905
+ """
906
+ Removes reviewers from secure Share by three identifier types: `adobe_user_id`, `email`, and `user_id`.
907
+ <br>
908
+ A request can only include one identifier type parameter.
909
+ <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
910
+
911
+ Parameters
912
+ ----------
913
+ account_id : Uuid
914
+
915
+
916
+ share_id : Uuid
917
+
918
+
919
+ data : RemoveReviewerParamsData
920
+
921
+ request_options : typing.Optional[RequestOptions]
922
+ Request-specific configuration.
923
+
924
+ Returns
925
+ -------
926
+ None
927
+
928
+ Examples
929
+ --------
930
+ import asyncio
931
+
932
+ from frameio import AsyncFrameio
933
+ from frameio.shares import (
934
+ RemoveReviewerParamsData,
935
+ RemoveReviewerParamsDataReviewers,
936
+ )
937
+
938
+ client = AsyncFrameio(
939
+ token="YOUR_TOKEN",
940
+ )
941
+
942
+
943
+ async def main() -> None:
944
+ await client.shares.remove_reviewers(
945
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
946
+ share_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
947
+ data=RemoveReviewerParamsData(
948
+ reviewers=RemoveReviewerParamsDataReviewers(
949
+ adobe_user_ids=[
950
+ "2A3C1A3D66C621B20A494021@176719f5667c82b4499999.e"
951
+ ],
952
+ ),
953
+ ),
954
+ )
955
+
956
+
957
+ asyncio.run(main())
958
+ """
959
+ _response = await self._raw_client.remove_reviewers(
960
+ account_id, share_id, data=data, request_options=request_options
961
+ )
962
+ return _response.data
963
+
964
+ async def remove_asset(
965
+ self,
966
+ account_id: Uuid,
967
+ share_id: Uuid,
968
+ asset_id: Uuid,
969
+ *,
970
+ request_options: typing.Optional[RequestOptions] = None,
971
+ ) -> RemoveAssetResponse:
972
+ """
973
+ Remove an asset currently in the share from that share. <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
974
+
975
+ Parameters
976
+ ----------
977
+ account_id : Uuid
978
+
979
+
980
+ share_id : Uuid
981
+
982
+
983
+ asset_id : Uuid
984
+
985
+
986
+ request_options : typing.Optional[RequestOptions]
987
+ Request-specific configuration.
988
+
989
+ Returns
990
+ -------
991
+ RemoveAssetResponse
992
+ OK
993
+
994
+ Examples
995
+ --------
996
+ import asyncio
997
+
998
+ from frameio import AsyncFrameio
999
+
1000
+ client = AsyncFrameio(
1001
+ token="YOUR_TOKEN",
1002
+ )
1003
+
1004
+
1005
+ async def main() -> None:
1006
+ await client.shares.remove_asset(
1007
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
1008
+ share_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
1009
+ asset_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
1010
+ )
1011
+
1012
+
1013
+ asyncio.run(main())
1014
+ """
1015
+ _response = await self._raw_client.remove_asset(account_id, share_id, asset_id, request_options=request_options)
1016
+ return _response.data
1017
+
1018
+ async def add_asset(
1019
+ self,
1020
+ account_id: Uuid,
1021
+ share_id: Uuid,
1022
+ *,
1023
+ data: AddAssetParamsData,
1024
+ request_options: typing.Optional[RequestOptions] = None,
1025
+ ) -> AddAssetResponse:
1026
+ """
1027
+ Add new asset share. <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
1028
+
1029
+ Parameters
1030
+ ----------
1031
+ account_id : Uuid
1032
+
1033
+
1034
+ share_id : Uuid
1035
+
1036
+
1037
+ data : AddAssetParamsData
1038
+
1039
+ request_options : typing.Optional[RequestOptions]
1040
+ Request-specific configuration.
1041
+
1042
+ Returns
1043
+ -------
1044
+ AddAssetResponse
1045
+ OK
1046
+
1047
+ Examples
1048
+ --------
1049
+ import asyncio
1050
+
1051
+ from frameio import AsyncFrameio
1052
+ from frameio.shares import AddAssetParamsData
1053
+
1054
+ client = AsyncFrameio(
1055
+ token="YOUR_TOKEN",
1056
+ )
1057
+
1058
+
1059
+ async def main() -> None:
1060
+ await client.shares.add_asset(
1061
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
1062
+ share_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
1063
+ data=AddAssetParamsData(
1064
+ asset_id="893396e8-f6da-4167-aa09-1fd22101df82",
1065
+ ),
1066
+ )
1067
+
1068
+
1069
+ asyncio.run(main())
1070
+ """
1071
+ _response = await self._raw_client.add_asset(account_id, share_id, data=data, request_options=request_options)
1072
+ return _response.data
1073
+
1074
+ async def index(
1075
+ self,
1076
+ account_id: Uuid,
1077
+ project_id: Uuid,
1078
+ *,
1079
+ after: typing.Optional[RequestAfterOpaqueCursor] = None,
1080
+ page_size: typing.Optional[RequestPageSize] = None,
1081
+ include_total_count: typing.Optional[IncludeTotalCount] = None,
1082
+ request_options: typing.Optional[RequestOptions] = None,
1083
+ ) -> AsyncPager[Share, SharesResponse]:
1084
+ """
1085
+ List shares on a project. <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
1086
+
1087
+ Parameters
1088
+ ----------
1089
+ account_id : Uuid
1090
+
1091
+
1092
+ project_id : Uuid
1093
+
1094
+
1095
+ after : typing.Optional[RequestAfterOpaqueCursor]
1096
+ Opaque Cursor query param for requests returning paginated results.
1097
+ <br/>
1098
+ NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
1099
+
1100
+ page_size : typing.Optional[RequestPageSize]
1101
+
1102
+
1103
+ include_total_count : typing.Optional[IncludeTotalCount]
1104
+
1105
+
1106
+ request_options : typing.Optional[RequestOptions]
1107
+ Request-specific configuration.
1108
+
1109
+ Returns
1110
+ -------
1111
+ AsyncPager[Share, SharesResponse]
1112
+ OK
1113
+
1114
+ Examples
1115
+ --------
1116
+ import asyncio
1117
+
1118
+ from frameio import AsyncFrameio
1119
+
1120
+ client = AsyncFrameio(
1121
+ token="YOUR_TOKEN",
1122
+ )
1123
+
1124
+
1125
+ async def main() -> None:
1126
+ response = await client.shares.index(
1127
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
1128
+ project_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
1129
+ after="<opaque_cursor>",
1130
+ page_size=10,
1131
+ include_total_count=False,
1132
+ )
1133
+ async for item in response:
1134
+ yield item
1135
+
1136
+ # alternatively, you can paginate page-by-page
1137
+ async for page in response.iter_pages():
1138
+ yield page
1139
+
1140
+
1141
+ asyncio.run(main())
1142
+ """
1143
+ return await self._raw_client.index(
1144
+ account_id,
1145
+ project_id,
1146
+ after=after,
1147
+ page_size=page_size,
1148
+ include_total_count=include_total_count,
1149
+ request_options=request_options,
1150
+ )
1151
+
1152
+ async def create(
1153
+ self,
1154
+ account_id: Uuid,
1155
+ project_id: Uuid,
1156
+ *,
1157
+ data: CreateShareParamsData,
1158
+ request_options: typing.Optional[RequestOptions] = None,
1159
+ ) -> ShareResponse:
1160
+ """
1161
+ Create share. <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
1162
+
1163
+ Parameters
1164
+ ----------
1165
+ account_id : Uuid
1166
+
1167
+
1168
+ project_id : Uuid
1169
+
1170
+
1171
+ data : CreateShareParamsData
1172
+
1173
+ request_options : typing.Optional[RequestOptions]
1174
+ Request-specific configuration.
1175
+
1176
+ Returns
1177
+ -------
1178
+ ShareResponse
1179
+ Created
1180
+
1181
+ Examples
1182
+ --------
1183
+ import asyncio
1184
+ import datetime
1185
+
1186
+ from frameio import AsyncFrameio
1187
+ from frameio.shares import CreateShareParamsData_Asset
1188
+
1189
+ client = AsyncFrameio(
1190
+ token="YOUR_TOKEN",
1191
+ )
1192
+
1193
+
1194
+ async def main() -> None:
1195
+ await client.shares.create(
1196
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
1197
+ project_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
1198
+ data=CreateShareParamsData_Asset(
1199
+ access="public",
1200
+ asset_ids=[
1201
+ "65796db9-475d-4673-81ed-99c37a0282c6",
1202
+ "f5c71ec3-0a32-466f-9c2e-8c0a0f25f1b7",
1203
+ ],
1204
+ downloading_enabled=True,
1205
+ expiration=datetime.datetime.fromisoformat(
1206
+ "2026-01-12 23:28:07+00:00",
1207
+ ),
1208
+ name="Share Name",
1209
+ passphrase="as!dfj39sd(*",
1210
+ ),
1211
+ )
1212
+
1213
+
1214
+ asyncio.run(main())
1215
+ """
1216
+ _response = await self._raw_client.create(account_id, project_id, data=data, request_options=request_options)
1217
+ return _response.data