mixpeek 0.20.19__py3-none-any.whl → 0.21.1__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 (228) hide show
  1. mixpeek/_version.py +3 -3
  2. mixpeek/{assets.py → bucket_objects.py} +309 -793
  3. mixpeek/buckets.py +1292 -0
  4. mixpeek/clusters.py +306 -0
  5. mixpeek/collection_cache.py +820 -0
  6. mixpeek/{taxonomyentities.py → collection_documents.py} +305 -559
  7. mixpeek/collections.py +122 -996
  8. mixpeek/features.py +45 -991
  9. mixpeek/models/__init__.py +625 -570
  10. mixpeek/models/aggregationtype.py +13 -0
  11. mixpeek/models/apikeyupdate.py +1 -1
  12. mixpeek/models/attributebasedconfig.py +21 -0
  13. mixpeek/models/automaticnaming.py +29 -0
  14. mixpeek/models/basicfeatureextractor.py +35 -0
  15. mixpeek/models/{classify_features_v1_entities_taxonomies_taxonomy_classify_postop.py → batch_delete_documents_v1_collections_collection_identifier_documents_batch_deleteop.py} +17 -15
  16. mixpeek/models/{update_collection_v1_collections_collection_putop.py → batch_update_documents_v1_collections_collection_identifier_documents_batch_putop.py} +29 -19
  17. mixpeek/models/blobdetails.py +72 -0
  18. mixpeek/models/blobmodel.py +107 -0
  19. mixpeek/models/bucketcreaterequest.py +75 -0
  20. mixpeek/models/bucketresponse.py +90 -0
  21. mixpeek/models/bucketschema_input.py +37 -0
  22. mixpeek/models/bucketschema_output.py +37 -0
  23. mixpeek/models/{featureresponse.py → bucketschemafield_input.py} +45 -18
  24. mixpeek/models/bucketschemafield_output.py +101 -0
  25. mixpeek/models/bucketschemafieldtype.py +29 -0
  26. mixpeek/models/bucketupdaterequest.py +68 -0
  27. mixpeek/models/cachestats.py +40 -0
  28. mixpeek/models/{list_collections_v1_collections_getop.py → cleanup_cache_v1_collections_cache_cleanup_postop.py} +23 -12
  29. mixpeek/models/{inputtype.py → clusteringmethod.py} +3 -5
  30. mixpeek/models/clustertype.py +9 -0
  31. mixpeek/models/collectioncacheconfig_input.py +92 -0
  32. mixpeek/models/collectioncacheconfig_output.py +92 -0
  33. mixpeek/models/collectionconfig.py +32 -0
  34. mixpeek/models/collectionmodel.py +79 -8
  35. mixpeek/models/{create_taxonomy_v1_entities_taxonomies_postop.py → create_bucket_v1_buckets_create_postop.py} +7 -7
  36. mixpeek/models/{search_assets_v1_assets_search_postop.py → create_cluster_v1_clusters_postop.py} +7 -7
  37. mixpeek/models/{create_collection_v1_collections_postop.py → create_collection_v1_collections_create_postop.py} +3 -3
  38. mixpeek/models/{ingest_video_url_v1_ingest_videos_url_postop.py → create_interaction_v1_retrievers_interactions_postop.py} +7 -7
  39. mixpeek/models/{partial_asset_update_v1_assets_asset_id_patchop.py → create_object_v1_buckets_bucket_identifier_objects_create_postop.py} +11 -9
  40. mixpeek/models/{ingest_text_v1_ingest_text_postop.py → create_retriever_v1_retrievers_retrievers_postop.py} +10 -7
  41. mixpeek/models/{ingest_image_url_v1_ingest_images_url_postop.py → create_taxonomy_v1_taxonomies_postop.py} +7 -7
  42. mixpeek/models/createblobrequest.py +80 -0
  43. mixpeek/models/createclusterrequest.py +74 -0
  44. mixpeek/models/createcollectionrequest.py +72 -3
  45. mixpeek/models/createnamespacerequest.py +14 -8
  46. mixpeek/models/createobjectrequest.py +75 -0
  47. mixpeek/models/createretrieverrequest.py +90 -0
  48. mixpeek/models/{taxonomyupdate.py → createtaxonomyrequest.py} +15 -13
  49. mixpeek/models/{delete_asset_v1_assets_asset_id_deleteop.py → delete_bucket_v1_buckets_bucket_identifier_deleteop.py} +5 -5
  50. mixpeek/models/{delete_classifications_v1_entities_taxonomies_taxonomy_classifications_classification_id_deleteop.py → delete_document_v1_collections_collection_identifier_documents_document_id_deleteop.py} +11 -11
  51. mixpeek/models/{get_taxonomy_v1_entities_taxonomies_taxonomy_getop.py → delete_interaction_v1_retrievers_interactions_interaction_id_deleteop.py} +7 -7
  52. mixpeek/models/delete_object_v1_buckets_bucket_identifier_objects_object_identifier_deleteop.py +70 -0
  53. mixpeek/models/{featureextractionembeddingrequest.py → documenthandlingconfig.py} +12 -15
  54. mixpeek/models/documentinputhandling.py +11 -0
  55. mixpeek/models/{jsontextoutputsettings.py → documentlistresponse.py} +15 -14
  56. mixpeek/models/documentoutputhandling.py +10 -0
  57. mixpeek/models/documentoutputtype.py +11 -0
  58. mixpeek/models/documentresponse.py +87 -0
  59. mixpeek/models/{nodeupdate.py → documentupdate.py} +22 -13
  60. mixpeek/models/enrichmentfield.py +25 -0
  61. mixpeek/models/errordetail.py +1 -1
  62. mixpeek/models/{update_node_v1_entities_taxonomies_nodes_node_patchop.py → execute_retriever_v1_retrievers_retrievers_retriever_id_execute_postop.py} +11 -11
  63. mixpeek/models/featureextractorconfig.py +116 -0
  64. mixpeek/models/featureextractordefinition.py +192 -0
  65. mixpeek/models/filtercondition.py +25 -25
  66. mixpeek/models/filteroperator.py +24 -0
  67. mixpeek/models/generativemodels.py +10 -0
  68. mixpeek/models/{delete_feature_v1_features_feature_id_deleteop.py → get_bucket_v1_buckets_bucket_identifier_getop.py} +5 -5
  69. mixpeek/models/{list_taxonomies_v1_entities_taxonomies_getop.py → get_cache_stats_v1_collections_cache_stats_getop.py} +16 -14
  70. mixpeek/models/get_collection_v1_collections_collection_id_getop.py +59 -0
  71. mixpeek/models/get_document_v1_collections_collection_identifier_documents_document_id_getop.py +70 -0
  72. mixpeek/models/get_feature_extractor_v1_features_extractors_feature_id_getop.py +16 -0
  73. mixpeek/models/get_interaction_v1_retrievers_interactions_interaction_id_getop.py +57 -0
  74. mixpeek/models/{delete_collection_v1_collections_collection_deleteop.py → get_object_v1_buckets_bucket_identifier_objects_object_identifier_getop.py} +16 -7
  75. mixpeek/models/get_research_v1_research_getop.py +52 -0
  76. mixpeek/models/get_retriever_stages_v1_retrievers_stages_getop.py +52 -0
  77. mixpeek/models/{delete_taxonomy_v1_entities_taxonomies_taxonomy_deleteop.py → get_retriever_v1_retrievers_retrievers_retriever_id_getop.py} +5 -7
  78. mixpeek/models/get_task_v1_tasks_task_id_getop.py +1 -1
  79. mixpeek/models/getusagerequestmodel.py +91 -0
  80. mixpeek/models/hdbscanparameters.py +26 -0
  81. mixpeek/models/interactionresponse.py +86 -0
  82. mixpeek/models/interactiontype.py +22 -0
  83. mixpeek/models/{search_features_v1_features_search_postop.py → invalidate_cache_v1_collections_cache_invalidate_postop.py} +60 -34
  84. mixpeek/models/invalidationevent.py +67 -0
  85. mixpeek/models/invalidationstrategy.py +12 -0
  86. mixpeek/models/kill_task_v1_tasks_task_id_deleteop.py +1 -1
  87. mixpeek/models/list_active_tasks_v1_tasks_getop.py +1 -1
  88. mixpeek/models/{list_assets_v1_assets_postop.py → list_buckets_v1_buckets_postop.py} +18 -18
  89. mixpeek/models/{list_features_v1_features_postop.py → list_documents_v1_collections_collection_identifier_documents_getop.py} +54 -19
  90. mixpeek/models/list_interactions_v1_retrievers_interactions_getop.py +96 -0
  91. mixpeek/models/{list_classifications_v1_entities_taxonomies_taxonomy_classifications_postop.py → list_objects_v1_buckets_bucket_identifier_objects_postop.py} +22 -29
  92. mixpeek/models/{groupbyoptionsasset.py → listbucketsrequest.py} +19 -28
  93. mixpeek/models/listbucketsresponse.py +23 -0
  94. mixpeek/models/{groupbyoptions.py → listobjectsrequest.py} +19 -28
  95. mixpeek/models/listobjectsresponse.py +25 -0
  96. mixpeek/models/listtasksresponse.py +3 -6
  97. mixpeek/models/{logicaloperator.py → logicaloperator_input.py} +42 -24
  98. mixpeek/models/logicaloperator_output.py +121 -0
  99. mixpeek/models/multivectorindex.py +25 -0
  100. mixpeek/models/namespaceresponse.py +1 -1
  101. mixpeek/models/namespaceusage.py +45 -0
  102. mixpeek/models/namingmethod.py +8 -0
  103. mixpeek/models/objectresponse.py +124 -0
  104. mixpeek/models/{db_model_paginationresponse.py → paginationresponse.py} +3 -3
  105. mixpeek/models/payloadindexconfig.py +1 -1
  106. mixpeek/models/plan.py +82 -0
  107. mixpeek/models/recomputestrategy.py +12 -0
  108. mixpeek/models/resourcetotals.py +39 -0
  109. mixpeek/models/{jsonvideooutputsettings.py → retrieverbinding.py} +19 -11
  110. mixpeek/models/{logodetectsettings.py → retrievercacheconfig.py} +20 -11
  111. mixpeek/models/retrievermodel.py +95 -0
  112. mixpeek/models/retrieverqueryrequest.py +114 -0
  113. mixpeek/models/retrieverresponse.py +24 -0
  114. mixpeek/models/searchinteraction.py +81 -0
  115. mixpeek/models/singlelineageentry.py +99 -0
  116. mixpeek/models/sortdirection.py +11 -0
  117. mixpeek/models/sortoption.py +20 -12
  118. mixpeek/models/sourceconfig_input.py +72 -0
  119. mixpeek/models/sourceconfig_output.py +75 -0
  120. mixpeek/models/sourcetype.py +11 -0
  121. mixpeek/models/stageconfig_input.py +111 -0
  122. mixpeek/models/stageconfig_output.py +114 -0
  123. mixpeek/models/stagedefinition.py +110 -0
  124. mixpeek/models/{jsonimageoutputsettings.py → stageresponse.py} +21 -11
  125. mixpeek/models/taskresponse.py +1 -1
  126. mixpeek/models/taskstatus.py +1 -0
  127. mixpeek/models/{assetfeatures.py → taxonomyapplicationconfig.py} +23 -15
  128. mixpeek/models/taxonomyconfig.py +19 -0
  129. mixpeek/models/timeseriesdatapoint.py +25 -0
  130. mixpeek/models/timeseriesusage.py +36 -0
  131. mixpeek/models/{full_asset_update_v1_assets_asset_id_putop.py → update_bucket_v1_buckets_bucket_identifier_putop.py} +9 -9
  132. mixpeek/models/{update_taxonomy_v1_entities_taxonomies_taxonomy_patchop.py → update_document_v1_collections_collection_identifier_documents_document_id_putop.py} +25 -13
  133. mixpeek/models/{full_feature_update_v1_features_feature_id_putop.py → update_object_v1_buckets_bucket_identifier_objects_object_identifier_putop.py} +20 -9
  134. mixpeek/models/updatenamespacerequest.py +1 -1
  135. mixpeek/models/updateobjectrequest.py +75 -0
  136. mixpeek/models/usageresponse.py +86 -0
  137. mixpeek/models/usagesummary.py +39 -0
  138. mixpeek/models/usagetimerange.py +16 -0
  139. mixpeek/models/usermodel_input.py +3 -0
  140. mixpeek/models/usermodel_output.py +3 -0
  141. mixpeek/models/vectorbasedconfig.py +60 -0
  142. mixpeek/models/{collectionresult.py → vectorindex.py} +20 -15
  143. mixpeek/models/vectorindexdefinition.py +43 -0
  144. mixpeek/models/vectortype.py +4 -1
  145. mixpeek/namespaces.py +26 -480
  146. mixpeek/organization_notifications.py +214 -0
  147. mixpeek/organizations.py +6 -210
  148. mixpeek/{featureextractors.py → organizations_usage.py} +31 -39
  149. mixpeek/research.py +228 -0
  150. mixpeek/retriever_interactions.py +1036 -0
  151. mixpeek/retriever_stages.py +232 -0
  152. mixpeek/{ingestassets.py → retrievers.py} +209 -271
  153. mixpeek/sdk.py +40 -23
  154. mixpeek/taxonomies.py +43 -513
  155. mixpeek/types/basemodel.py +3 -3
  156. mixpeek/utils/enums.py +67 -27
  157. {mixpeek-0.20.19.dist-info → mixpeek-0.21.1.dist-info}/METADATA +68 -50
  158. mixpeek-0.21.1.dist-info/RECORD +216 -0
  159. {mixpeek-0.20.19.dist-info → mixpeek-0.21.1.dist-info}/WHEEL +1 -1
  160. mixpeek/models/actionusage.py +0 -16
  161. mixpeek/models/assetresponse.py +0 -166
  162. mixpeek/models/assets_model_searchquery.py +0 -21
  163. mixpeek/models/assetupdate.py +0 -28
  164. mixpeek/models/assignmentconfig.py +0 -67
  165. mixpeek/models/assignmentmode.py +0 -11
  166. mixpeek/models/availablemodels.py +0 -16
  167. mixpeek/models/availablemodelsresponse.py +0 -27
  168. mixpeek/models/classificationmatch.py +0 -77
  169. mixpeek/models/classificationwithfeature.py +0 -73
  170. mixpeek/models/collectiondetailsresponse.py +0 -83
  171. mixpeek/models/dateusage.py +0 -22
  172. mixpeek/models/denseembedding.py +0 -16
  173. mixpeek/models/discoverrequest.py +0 -64
  174. mixpeek/models/embeddingconfig.py +0 -33
  175. mixpeek/models/embeddingrequest.py +0 -92
  176. mixpeek/models/embeddingresponse.py +0 -64
  177. mixpeek/models/entitysettings.py +0 -50
  178. mixpeek/models/featureoptions.py +0 -25
  179. mixpeek/models/features_model_paginationresponse.py +0 -59
  180. mixpeek/models/featureupdaterequest.py +0 -21
  181. mixpeek/models/get_asset_v1_assets_asset_id_getop.py +0 -73
  182. mixpeek/models/get_asset_with_features_v1_assets_asset_id_features_getop.py +0 -73
  183. mixpeek/models/get_collection_details_v1_collections_collection_details_getop.py +0 -59
  184. mixpeek/models/get_collection_details_v1_collections_collection_getop.py +0 -59
  185. mixpeek/models/get_feature_v1_features_feature_id_getop.py +0 -70
  186. mixpeek/models/get_taxonomy_node_v1_entities_taxonomies_nodes_node_getop.py +0 -59
  187. mixpeek/models/groupedassetdata.py +0 -18
  188. mixpeek/models/imagedescribesettings.py +0 -82
  189. mixpeek/models/imagedetectsettings.py +0 -47
  190. mixpeek/models/imagereadsettings.py +0 -71
  191. mixpeek/models/imagesettings.py +0 -92
  192. mixpeek/models/listassetsrequest.py +0 -75
  193. mixpeek/models/listassetsresponse.py +0 -22
  194. mixpeek/models/listclassificationsrequest.py +0 -69
  195. mixpeek/models/listclassificationsresponse.py +0 -31
  196. mixpeek/models/listcollectionsresponse.py +0 -22
  197. mixpeek/models/listfeaturesrequest.py +0 -77
  198. mixpeek/models/listfeaturesresponse.py +0 -22
  199. mixpeek/models/listtaxonomiesresponse.py +0 -24
  200. mixpeek/models/modality.py +0 -13
  201. mixpeek/models/modeldetails.py +0 -61
  202. mixpeek/models/nodeoptions.py +0 -16
  203. mixpeek/models/patch_namespace_v1_namespaces_namespace_patchop.py +0 -28
  204. mixpeek/models/payloadindextype.py +0 -17
  205. mixpeek/models/processimageurlinput.py +0 -87
  206. mixpeek/models/processtextinput.py +0 -82
  207. mixpeek/models/processvideourlinput.py +0 -87
  208. mixpeek/models/querysettings.py +0 -56
  209. mixpeek/models/rerankingoptions.py +0 -47
  210. mixpeek/models/search_model_searchquery.py +0 -76
  211. mixpeek/models/searchassetsrequest.py +0 -78
  212. mixpeek/models/searchrequestfeatures.py +0 -153
  213. mixpeek/models/sparseembedding.py +0 -21
  214. mixpeek/models/taxonomycreate.py +0 -20
  215. mixpeek/models/taxonomyextractionconfig.py +0 -26
  216. mixpeek/models/taxonomymodel.py +0 -27
  217. mixpeek/models/taxonomynode.py +0 -101
  218. mixpeek/models/taxonomynodecreate.py +0 -63
  219. mixpeek/models/textsettings.py +0 -67
  220. mixpeek/models/updateassetrequest.py +0 -60
  221. mixpeek/models/usage.py +0 -18
  222. mixpeek/models/vectormodel.py +0 -15
  223. mixpeek/models/videodescribesettings.py +0 -82
  224. mixpeek/models/videodetectsettings.py +0 -47
  225. mixpeek/models/videoreadsettings.py +0 -71
  226. mixpeek/models/videosettings.py +0 -115
  227. mixpeek/models/videotranscriptionsettings.py +0 -69
  228. mixpeek-0.20.19.dist-info/RECORD +0 -201
@@ -8,497 +8,41 @@ from mixpeek.utils import get_security_from_env
8
8
  from typing import Any, List, Mapping, Optional, Union
9
9
 
10
10
 
11
- class Assets(BaseSDK):
12
- def get(
11
+ class BucketObjects(BaseSDK):
12
+ def create_object_v1_buckets_bucket_identifier_objects_create_post(
13
13
  self,
14
14
  *,
15
- asset_id: str,
16
- return_url: Optional[bool] = True,
15
+ bucket_identifier: str,
17
16
  x_namespace: OptionalNullable[str] = UNSET,
18
- retries: OptionalNullable[utils.RetryConfig] = UNSET,
19
- server_url: Optional[str] = None,
20
- timeout_ms: Optional[int] = None,
21
- http_headers: Optional[Mapping[str, str]] = None,
22
- ) -> models.AssetResponse:
23
- r"""Get Asset
24
-
25
- Get basic asset details
26
-
27
- :param asset_id: Unique identifier of the asset
28
- :param return_url: Whether to generate and return presigned S3 URLs for the asset and preview. Set to false to improve performance when URLs aren't needed
29
- :param x_namespace: Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint.
30
- :param retries: Override the default retry configuration for this method
31
- :param server_url: Override the default server URL for this method
32
- :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
33
- :param http_headers: Additional headers to set or replace on requests.
34
- """
35
- base_url = None
36
- url_variables = None
37
- if timeout_ms is None:
38
- timeout_ms = self.sdk_configuration.timeout_ms
39
-
40
- if server_url is not None:
41
- base_url = server_url
42
- else:
43
- base_url = self._get_url(base_url, url_variables)
44
-
45
- request = models.GetAssetV1AssetsAssetIDGetRequest(
46
- asset_id=asset_id,
47
- return_url=return_url,
48
- x_namespace=x_namespace,
49
- )
50
-
51
- req = self._build_request(
52
- method="GET",
53
- path="/v1/assets/{asset_id}",
54
- base_url=base_url,
55
- url_variables=url_variables,
56
- request=request,
57
- request_body_required=False,
58
- request_has_path_params=True,
59
- request_has_query_params=True,
60
- user_agent_header="user-agent",
61
- accept_header_value="application/json",
62
- http_headers=http_headers,
63
- security=self.sdk_configuration.security,
64
- timeout_ms=timeout_ms,
65
- )
66
-
67
- if retries == UNSET:
68
- if self.sdk_configuration.retry_config is not UNSET:
69
- retries = self.sdk_configuration.retry_config
70
-
71
- retry_config = None
72
- if isinstance(retries, utils.RetryConfig):
73
- retry_config = (retries, ["429", "500", "502", "503", "504"])
74
-
75
- http_res = self.do_request(
76
- hook_ctx=HookContext(
77
- base_url=base_url or "",
78
- operation_id="get_asset_v1_assets__asset_id__get",
79
- oauth2_scopes=[],
80
- security_source=get_security_from_env(
81
- self.sdk_configuration.security, models.Security
82
- ),
83
- ),
84
- request=req,
85
- error_status_codes=["400", "401", "403", "404", "422", "4XX", "500", "5XX"],
86
- retry_config=retry_config,
87
- )
88
-
89
- response_data: Any = None
90
- if utils.match_response(http_res, "200", "application/json"):
91
- return utils.unmarshal_json(http_res.text, models.AssetResponse)
92
- if utils.match_response(
93
- http_res, ["400", "401", "403", "404"], "application/json"
94
- ):
95
- response_data = utils.unmarshal_json(
96
- http_res.text, models.ErrorResponseData
97
- )
98
- raise models.ErrorResponse(data=response_data)
99
- if utils.match_response(http_res, "422", "application/json"):
100
- response_data = utils.unmarshal_json(
101
- http_res.text, models.HTTPValidationErrorData
102
- )
103
- raise models.HTTPValidationError(data=response_data)
104
- if utils.match_response(http_res, "500", "application/json"):
105
- response_data = utils.unmarshal_json(
106
- http_res.text, models.ErrorResponseData
107
- )
108
- raise models.ErrorResponse(data=response_data)
109
- if utils.match_response(http_res, "4XX", "*"):
110
- http_res_text = utils.stream_to_text(http_res)
111
- raise models.APIError(
112
- "API error occurred", http_res.status_code, http_res_text, http_res
113
- )
114
- if utils.match_response(http_res, "5XX", "*"):
115
- http_res_text = utils.stream_to_text(http_res)
116
- raise models.APIError(
117
- "API error occurred", http_res.status_code, http_res_text, http_res
118
- )
119
-
120
- content_type = http_res.headers.get("Content-Type")
121
- http_res_text = utils.stream_to_text(http_res)
122
- raise models.APIError(
123
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
124
- http_res.status_code,
125
- http_res_text,
126
- http_res,
127
- )
128
-
129
- async def get_async(
130
- self,
131
- *,
132
- asset_id: str,
133
- return_url: Optional[bool] = True,
134
- x_namespace: OptionalNullable[str] = UNSET,
135
- retries: OptionalNullable[utils.RetryConfig] = UNSET,
136
- server_url: Optional[str] = None,
137
- timeout_ms: Optional[int] = None,
138
- http_headers: Optional[Mapping[str, str]] = None,
139
- ) -> models.AssetResponse:
140
- r"""Get Asset
141
-
142
- Get basic asset details
143
-
144
- :param asset_id: Unique identifier of the asset
145
- :param return_url: Whether to generate and return presigned S3 URLs for the asset and preview. Set to false to improve performance when URLs aren't needed
146
- :param x_namespace: Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint.
147
- :param retries: Override the default retry configuration for this method
148
- :param server_url: Override the default server URL for this method
149
- :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
150
- :param http_headers: Additional headers to set or replace on requests.
151
- """
152
- base_url = None
153
- url_variables = None
154
- if timeout_ms is None:
155
- timeout_ms = self.sdk_configuration.timeout_ms
156
-
157
- if server_url is not None:
158
- base_url = server_url
159
- else:
160
- base_url = self._get_url(base_url, url_variables)
161
-
162
- request = models.GetAssetV1AssetsAssetIDGetRequest(
163
- asset_id=asset_id,
164
- return_url=return_url,
165
- x_namespace=x_namespace,
166
- )
167
-
168
- req = self._build_request_async(
169
- method="GET",
170
- path="/v1/assets/{asset_id}",
171
- base_url=base_url,
172
- url_variables=url_variables,
173
- request=request,
174
- request_body_required=False,
175
- request_has_path_params=True,
176
- request_has_query_params=True,
177
- user_agent_header="user-agent",
178
- accept_header_value="application/json",
179
- http_headers=http_headers,
180
- security=self.sdk_configuration.security,
181
- timeout_ms=timeout_ms,
182
- )
183
-
184
- if retries == UNSET:
185
- if self.sdk_configuration.retry_config is not UNSET:
186
- retries = self.sdk_configuration.retry_config
187
-
188
- retry_config = None
189
- if isinstance(retries, utils.RetryConfig):
190
- retry_config = (retries, ["429", "500", "502", "503", "504"])
191
-
192
- http_res = await self.do_request_async(
193
- hook_ctx=HookContext(
194
- base_url=base_url or "",
195
- operation_id="get_asset_v1_assets__asset_id__get",
196
- oauth2_scopes=[],
197
- security_source=get_security_from_env(
198
- self.sdk_configuration.security, models.Security
199
- ),
200
- ),
201
- request=req,
202
- error_status_codes=["400", "401", "403", "404", "422", "4XX", "500", "5XX"],
203
- retry_config=retry_config,
204
- )
205
-
206
- response_data: Any = None
207
- if utils.match_response(http_res, "200", "application/json"):
208
- return utils.unmarshal_json(http_res.text, models.AssetResponse)
209
- if utils.match_response(
210
- http_res, ["400", "401", "403", "404"], "application/json"
211
- ):
212
- response_data = utils.unmarshal_json(
213
- http_res.text, models.ErrorResponseData
214
- )
215
- raise models.ErrorResponse(data=response_data)
216
- if utils.match_response(http_res, "422", "application/json"):
217
- response_data = utils.unmarshal_json(
218
- http_res.text, models.HTTPValidationErrorData
219
- )
220
- raise models.HTTPValidationError(data=response_data)
221
- if utils.match_response(http_res, "500", "application/json"):
222
- response_data = utils.unmarshal_json(
223
- http_res.text, models.ErrorResponseData
224
- )
225
- raise models.ErrorResponse(data=response_data)
226
- if utils.match_response(http_res, "4XX", "*"):
227
- http_res_text = await utils.stream_to_text_async(http_res)
228
- raise models.APIError(
229
- "API error occurred", http_res.status_code, http_res_text, http_res
230
- )
231
- if utils.match_response(http_res, "5XX", "*"):
232
- http_res_text = await utils.stream_to_text_async(http_res)
233
- raise models.APIError(
234
- "API error occurred", http_res.status_code, http_res_text, http_res
235
- )
236
-
237
- content_type = http_res.headers.get("Content-Type")
238
- http_res_text = await utils.stream_to_text_async(http_res)
239
- raise models.APIError(
240
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
241
- http_res.status_code,
242
- http_res_text,
243
- http_res,
244
- )
245
-
246
- def delete(
247
- self,
248
- *,
249
- asset_id: str,
250
- x_namespace: OptionalNullable[str] = UNSET,
251
- retries: OptionalNullable[utils.RetryConfig] = UNSET,
252
- server_url: Optional[str] = None,
253
- timeout_ms: Optional[int] = None,
254
- http_headers: Optional[Mapping[str, str]] = None,
255
- ) -> models.GenericSuccessResponse:
256
- r"""Delete Asset
257
-
258
- **Requirements:**
259
- - Required permissions: write
260
-
261
- :param asset_id:
262
- :param x_namespace: Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint.
263
- :param retries: Override the default retry configuration for this method
264
- :param server_url: Override the default server URL for this method
265
- :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
266
- :param http_headers: Additional headers to set or replace on requests.
267
- """
268
- base_url = None
269
- url_variables = None
270
- if timeout_ms is None:
271
- timeout_ms = self.sdk_configuration.timeout_ms
272
-
273
- if server_url is not None:
274
- base_url = server_url
275
- else:
276
- base_url = self._get_url(base_url, url_variables)
277
-
278
- request = models.DeleteAssetV1AssetsAssetIDDeleteRequest(
279
- asset_id=asset_id,
280
- x_namespace=x_namespace,
281
- )
282
-
283
- req = self._build_request(
284
- method="DELETE",
285
- path="/v1/assets/{asset_id}",
286
- base_url=base_url,
287
- url_variables=url_variables,
288
- request=request,
289
- request_body_required=False,
290
- request_has_path_params=True,
291
- request_has_query_params=True,
292
- user_agent_header="user-agent",
293
- accept_header_value="application/json",
294
- http_headers=http_headers,
295
- security=self.sdk_configuration.security,
296
- timeout_ms=timeout_ms,
297
- )
298
-
299
- if retries == UNSET:
300
- if self.sdk_configuration.retry_config is not UNSET:
301
- retries = self.sdk_configuration.retry_config
302
-
303
- retry_config = None
304
- if isinstance(retries, utils.RetryConfig):
305
- retry_config = (retries, ["429", "500", "502", "503", "504"])
306
-
307
- http_res = self.do_request(
308
- hook_ctx=HookContext(
309
- base_url=base_url or "",
310
- operation_id="delete_asset_v1_assets__asset_id__delete",
311
- oauth2_scopes=[],
312
- security_source=get_security_from_env(
313
- self.sdk_configuration.security, models.Security
314
- ),
315
- ),
316
- request=req,
317
- error_status_codes=["400", "401", "403", "404", "422", "4XX", "500", "5XX"],
318
- retry_config=retry_config,
319
- )
320
-
321
- response_data: Any = None
322
- if utils.match_response(http_res, "200", "application/json"):
323
- return utils.unmarshal_json(http_res.text, models.GenericSuccessResponse)
324
- if utils.match_response(
325
- http_res, ["400", "401", "403", "404"], "application/json"
326
- ):
327
- response_data = utils.unmarshal_json(
328
- http_res.text, models.ErrorResponseData
329
- )
330
- raise models.ErrorResponse(data=response_data)
331
- if utils.match_response(http_res, "422", "application/json"):
332
- response_data = utils.unmarshal_json(
333
- http_res.text, models.HTTPValidationErrorData
334
- )
335
- raise models.HTTPValidationError(data=response_data)
336
- if utils.match_response(http_res, "500", "application/json"):
337
- response_data = utils.unmarshal_json(
338
- http_res.text, models.ErrorResponseData
339
- )
340
- raise models.ErrorResponse(data=response_data)
341
- if utils.match_response(http_res, "4XX", "*"):
342
- http_res_text = utils.stream_to_text(http_res)
343
- raise models.APIError(
344
- "API error occurred", http_res.status_code, http_res_text, http_res
345
- )
346
- if utils.match_response(http_res, "5XX", "*"):
347
- http_res_text = utils.stream_to_text(http_res)
348
- raise models.APIError(
349
- "API error occurred", http_res.status_code, http_res_text, http_res
350
- )
351
-
352
- content_type = http_res.headers.get("Content-Type")
353
- http_res_text = utils.stream_to_text(http_res)
354
- raise models.APIError(
355
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
356
- http_res.status_code,
357
- http_res_text,
358
- http_res,
359
- )
360
-
361
- async def delete_async(
362
- self,
363
- *,
364
- asset_id: str,
365
- x_namespace: OptionalNullable[str] = UNSET,
366
- retries: OptionalNullable[utils.RetryConfig] = UNSET,
367
- server_url: Optional[str] = None,
368
- timeout_ms: Optional[int] = None,
369
- http_headers: Optional[Mapping[str, str]] = None,
370
- ) -> models.GenericSuccessResponse:
371
- r"""Delete Asset
372
-
373
- **Requirements:**
374
- - Required permissions: write
375
-
376
- :param asset_id:
377
- :param x_namespace: Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint.
378
- :param retries: Override the default retry configuration for this method
379
- :param server_url: Override the default server URL for this method
380
- :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
381
- :param http_headers: Additional headers to set or replace on requests.
382
- """
383
- base_url = None
384
- url_variables = None
385
- if timeout_ms is None:
386
- timeout_ms = self.sdk_configuration.timeout_ms
387
-
388
- if server_url is not None:
389
- base_url = server_url
390
- else:
391
- base_url = self._get_url(base_url, url_variables)
392
-
393
- request = models.DeleteAssetV1AssetsAssetIDDeleteRequest(
394
- asset_id=asset_id,
395
- x_namespace=x_namespace,
396
- )
397
-
398
- req = self._build_request_async(
399
- method="DELETE",
400
- path="/v1/assets/{asset_id}",
401
- base_url=base_url,
402
- url_variables=url_variables,
403
- request=request,
404
- request_body_required=False,
405
- request_has_path_params=True,
406
- request_has_query_params=True,
407
- user_agent_header="user-agent",
408
- accept_header_value="application/json",
409
- http_headers=http_headers,
410
- security=self.sdk_configuration.security,
411
- timeout_ms=timeout_ms,
412
- )
413
-
414
- if retries == UNSET:
415
- if self.sdk_configuration.retry_config is not UNSET:
416
- retries = self.sdk_configuration.retry_config
417
-
418
- retry_config = None
419
- if isinstance(retries, utils.RetryConfig):
420
- retry_config = (retries, ["429", "500", "502", "503", "504"])
421
-
422
- http_res = await self.do_request_async(
423
- hook_ctx=HookContext(
424
- base_url=base_url or "",
425
- operation_id="delete_asset_v1_assets__asset_id__delete",
426
- oauth2_scopes=[],
427
- security_source=get_security_from_env(
428
- self.sdk_configuration.security, models.Security
429
- ),
430
- ),
431
- request=req,
432
- error_status_codes=["400", "401", "403", "404", "422", "4XX", "500", "5XX"],
433
- retry_config=retry_config,
434
- )
435
-
436
- response_data: Any = None
437
- if utils.match_response(http_res, "200", "application/json"):
438
- return utils.unmarshal_json(http_res.text, models.GenericSuccessResponse)
439
- if utils.match_response(
440
- http_res, ["400", "401", "403", "404"], "application/json"
441
- ):
442
- response_data = utils.unmarshal_json(
443
- http_res.text, models.ErrorResponseData
444
- )
445
- raise models.ErrorResponse(data=response_data)
446
- if utils.match_response(http_res, "422", "application/json"):
447
- response_data = utils.unmarshal_json(
448
- http_res.text, models.HTTPValidationErrorData
449
- )
450
- raise models.HTTPValidationError(data=response_data)
451
- if utils.match_response(http_res, "500", "application/json"):
452
- response_data = utils.unmarshal_json(
453
- http_res.text, models.ErrorResponseData
454
- )
455
- raise models.ErrorResponse(data=response_data)
456
- if utils.match_response(http_res, "4XX", "*"):
457
- http_res_text = await utils.stream_to_text_async(http_res)
458
- raise models.APIError(
459
- "API error occurred", http_res.status_code, http_res_text, http_res
460
- )
461
- if utils.match_response(http_res, "5XX", "*"):
462
- http_res_text = await utils.stream_to_text_async(http_res)
463
- raise models.APIError(
464
- "API error occurred", http_res.status_code, http_res_text, http_res
465
- )
466
-
467
- content_type = http_res.headers.get("Content-Type")
468
- http_res_text = await utils.stream_to_text_async(http_res)
469
- raise models.APIError(
470
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
471
- http_res.status_code,
472
- http_res_text,
473
- http_res,
474
- )
475
-
476
- def update(
477
- self,
478
- *,
479
- asset_id: str,
480
- x_namespace: OptionalNullable[str] = UNSET,
481
- propagate_features: OptionalNullable[bool] = UNSET,
17
+ key_prefix: OptionalNullable[str] = UNSET,
18
+ blobs: Optional[
19
+ Union[
20
+ List[models.CreateBlobRequest], List[models.CreateBlobRequestTypedDict]
21
+ ]
22
+ ] = None,
482
23
  metadata: Optional[
483
24
  Union[
484
- models.UpdateAssetRequestMetadata,
485
- models.UpdateAssetRequestMetadataTypedDict,
25
+ models.CreateObjectRequestMetadata,
26
+ models.CreateObjectRequestMetadataTypedDict,
486
27
  ]
487
28
  ] = None,
29
+ skip_duplicates: Optional[bool] = False,
488
30
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
489
31
  server_url: Optional[str] = None,
490
32
  timeout_ms: Optional[int] = None,
491
33
  http_headers: Optional[Mapping[str, str]] = None,
492
- ) -> models.AssetResponse:
493
- r"""Full Asset Update
34
+ ) -> models.TaskResponse:
35
+ r"""Create Object
494
36
 
495
- **Requirements:**
496
- - Required permissions: write
37
+ This endpoint creates a new object in the specified bucket.
38
+ The object must conform to the bucket's schema.
497
39
 
498
- :param asset_id:
40
+ :param bucket_identifier: Identifier of the bucket
499
41
  :param x_namespace: Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint.
500
- :param propagate_features: If True, the features will be propagated to all assets with the same asset_id
501
- :param metadata: Updated metadata for the asset. This can include any key-value pairs that should be updated or added to the asset's metadata.
42
+ :param key_prefix: Storage key/path prefix of the object, this will be used to retrieve the object from the storage. It's at the root of the object.
43
+ :param blobs: List of blobs to be created in this object
44
+ :param metadata: Additional metadata for the object, this will be appended in all downstream documents of the your connected collections.
45
+ :param skip_duplicates: Skip duplicate blobs, if a blob with the same hash already exists, it will be skipped.
502
46
  :param retries: Override the default retry configuration for this method
503
47
  :param server_url: Override the default server URL for this method
504
48
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -514,20 +58,24 @@ class Assets(BaseSDK):
514
58
  else:
515
59
  base_url = self._get_url(base_url, url_variables)
516
60
 
517
- request = models.FullAssetUpdateV1AssetsAssetIDPutRequest(
518
- asset_id=asset_id,
61
+ request = models.CreateObjectV1BucketsBucketIdentifierObjectsCreatePostRequest(
62
+ bucket_identifier=bucket_identifier,
519
63
  x_namespace=x_namespace,
520
- update_asset_request=models.UpdateAssetRequest(
521
- propagate_features=propagate_features,
64
+ create_object_request=models.CreateObjectRequest(
65
+ key_prefix=key_prefix,
66
+ blobs=utils.get_pydantic_model(
67
+ blobs, Optional[List[models.CreateBlobRequest]]
68
+ ),
522
69
  metadata=utils.get_pydantic_model(
523
- metadata, Optional[models.UpdateAssetRequestMetadata]
70
+ metadata, Optional[models.CreateObjectRequestMetadata]
524
71
  ),
72
+ skip_duplicates=skip_duplicates,
525
73
  ),
526
74
  )
527
75
 
528
76
  req = self._build_request(
529
- method="PUT",
530
- path="/v1/assets/{asset_id}",
77
+ method="POST",
78
+ path="/v1/buckets/{bucket_identifier}/objects/create",
531
79
  base_url=base_url,
532
80
  url_variables=url_variables,
533
81
  request=request,
@@ -539,11 +87,11 @@ class Assets(BaseSDK):
539
87
  http_headers=http_headers,
540
88
  security=self.sdk_configuration.security,
541
89
  get_serialized_body=lambda: utils.serialize_request_body(
542
- request.update_asset_request,
90
+ request.create_object_request,
543
91
  False,
544
92
  False,
545
93
  "json",
546
- models.UpdateAssetRequest,
94
+ models.CreateObjectRequest,
547
95
  ),
548
96
  timeout_ms=timeout_ms,
549
97
  )
@@ -559,7 +107,7 @@ class Assets(BaseSDK):
559
107
  http_res = self.do_request(
560
108
  hook_ctx=HookContext(
561
109
  base_url=base_url or "",
562
- operation_id="full_asset_update_v1_assets__asset_id__put",
110
+ operation_id="create_object_v1_buckets__bucket_identifier__objects_create_post",
563
111
  oauth2_scopes=[],
564
112
  security_source=get_security_from_env(
565
113
  self.sdk_configuration.security, models.Security
@@ -572,7 +120,7 @@ class Assets(BaseSDK):
572
120
 
573
121
  response_data: Any = None
574
122
  if utils.match_response(http_res, "200", "application/json"):
575
- return utils.unmarshal_json(http_res.text, models.AssetResponse)
123
+ return utils.unmarshal_json(http_res.text, models.TaskResponse)
576
124
  if utils.match_response(
577
125
  http_res, ["400", "401", "403", "404"], "application/json"
578
126
  ):
@@ -610,32 +158,40 @@ class Assets(BaseSDK):
610
158
  http_res,
611
159
  )
612
160
 
613
- async def update_async(
161
+ async def create_object_v1_buckets_bucket_identifier_objects_create_post_async(
614
162
  self,
615
163
  *,
616
- asset_id: str,
164
+ bucket_identifier: str,
617
165
  x_namespace: OptionalNullable[str] = UNSET,
618
- propagate_features: OptionalNullable[bool] = UNSET,
166
+ key_prefix: OptionalNullable[str] = UNSET,
167
+ blobs: Optional[
168
+ Union[
169
+ List[models.CreateBlobRequest], List[models.CreateBlobRequestTypedDict]
170
+ ]
171
+ ] = None,
619
172
  metadata: Optional[
620
173
  Union[
621
- models.UpdateAssetRequestMetadata,
622
- models.UpdateAssetRequestMetadataTypedDict,
174
+ models.CreateObjectRequestMetadata,
175
+ models.CreateObjectRequestMetadataTypedDict,
623
176
  ]
624
177
  ] = None,
178
+ skip_duplicates: Optional[bool] = False,
625
179
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
626
180
  server_url: Optional[str] = None,
627
181
  timeout_ms: Optional[int] = None,
628
182
  http_headers: Optional[Mapping[str, str]] = None,
629
- ) -> models.AssetResponse:
630
- r"""Full Asset Update
183
+ ) -> models.TaskResponse:
184
+ r"""Create Object
631
185
 
632
- **Requirements:**
633
- - Required permissions: write
186
+ This endpoint creates a new object in the specified bucket.
187
+ The object must conform to the bucket's schema.
634
188
 
635
- :param asset_id:
189
+ :param bucket_identifier: Identifier of the bucket
636
190
  :param x_namespace: Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint.
637
- :param propagate_features: If True, the features will be propagated to all assets with the same asset_id
638
- :param metadata: Updated metadata for the asset. This can include any key-value pairs that should be updated or added to the asset's metadata.
191
+ :param key_prefix: Storage key/path prefix of the object, this will be used to retrieve the object from the storage. It's at the root of the object.
192
+ :param blobs: List of blobs to be created in this object
193
+ :param metadata: Additional metadata for the object, this will be appended in all downstream documents of the your connected collections.
194
+ :param skip_duplicates: Skip duplicate blobs, if a blob with the same hash already exists, it will be skipped.
639
195
  :param retries: Override the default retry configuration for this method
640
196
  :param server_url: Override the default server URL for this method
641
197
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -651,20 +207,24 @@ class Assets(BaseSDK):
651
207
  else:
652
208
  base_url = self._get_url(base_url, url_variables)
653
209
 
654
- request = models.FullAssetUpdateV1AssetsAssetIDPutRequest(
655
- asset_id=asset_id,
210
+ request = models.CreateObjectV1BucketsBucketIdentifierObjectsCreatePostRequest(
211
+ bucket_identifier=bucket_identifier,
656
212
  x_namespace=x_namespace,
657
- update_asset_request=models.UpdateAssetRequest(
658
- propagate_features=propagate_features,
213
+ create_object_request=models.CreateObjectRequest(
214
+ key_prefix=key_prefix,
215
+ blobs=utils.get_pydantic_model(
216
+ blobs, Optional[List[models.CreateBlobRequest]]
217
+ ),
659
218
  metadata=utils.get_pydantic_model(
660
- metadata, Optional[models.UpdateAssetRequestMetadata]
219
+ metadata, Optional[models.CreateObjectRequestMetadata]
661
220
  ),
221
+ skip_duplicates=skip_duplicates,
662
222
  ),
663
223
  )
664
224
 
665
225
  req = self._build_request_async(
666
- method="PUT",
667
- path="/v1/assets/{asset_id}",
226
+ method="POST",
227
+ path="/v1/buckets/{bucket_identifier}/objects/create",
668
228
  base_url=base_url,
669
229
  url_variables=url_variables,
670
230
  request=request,
@@ -676,11 +236,11 @@ class Assets(BaseSDK):
676
236
  http_headers=http_headers,
677
237
  security=self.sdk_configuration.security,
678
238
  get_serialized_body=lambda: utils.serialize_request_body(
679
- request.update_asset_request,
239
+ request.create_object_request,
680
240
  False,
681
241
  False,
682
242
  "json",
683
- models.UpdateAssetRequest,
243
+ models.CreateObjectRequest,
684
244
  ),
685
245
  timeout_ms=timeout_ms,
686
246
  )
@@ -696,7 +256,7 @@ class Assets(BaseSDK):
696
256
  http_res = await self.do_request_async(
697
257
  hook_ctx=HookContext(
698
258
  base_url=base_url or "",
699
- operation_id="full_asset_update_v1_assets__asset_id__put",
259
+ operation_id="create_object_v1_buckets__bucket_identifier__objects_create_post",
700
260
  oauth2_scopes=[],
701
261
  security_source=get_security_from_env(
702
262
  self.sdk_configuration.security, models.Security
@@ -709,7 +269,7 @@ class Assets(BaseSDK):
709
269
 
710
270
  response_data: Any = None
711
271
  if utils.match_response(http_res, "200", "application/json"):
712
- return utils.unmarshal_json(http_res.text, models.AssetResponse)
272
+ return utils.unmarshal_json(http_res.text, models.TaskResponse)
713
273
  if utils.match_response(
714
274
  http_res, ["400", "401", "403", "404"], "application/json"
715
275
  ):
@@ -747,32 +307,24 @@ class Assets(BaseSDK):
747
307
  http_res,
748
308
  )
749
309
 
750
- def partial_update(
310
+ def get_object_v1_buckets_bucket_identifier_objects_object_identifier_get(
751
311
  self,
752
312
  *,
753
- asset_id: str,
313
+ bucket_identifier: str,
314
+ object_identifier: str,
754
315
  x_namespace: OptionalNullable[str] = UNSET,
755
- propagate_features: OptionalNullable[bool] = UNSET,
756
- metadata: Optional[
757
- Union[
758
- models.UpdateAssetRequestMetadata,
759
- models.UpdateAssetRequestMetadataTypedDict,
760
- ]
761
- ] = None,
762
316
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
763
317
  server_url: Optional[str] = None,
764
318
  timeout_ms: Optional[int] = None,
765
319
  http_headers: Optional[Mapping[str, str]] = None,
766
- ) -> models.AssetResponse:
767
- r"""Partial Asset Update
320
+ ) -> models.ObjectResponse:
321
+ r"""Get Object
768
322
 
769
- **Requirements:**
770
- - Required permissions: write
323
+ This endpoint retrieves an object by its ID from the specified bucket.
771
324
 
772
- :param asset_id:
325
+ :param bucket_identifier: Identifier of the bucket
326
+ :param object_identifier: Identifier of the object
773
327
  :param x_namespace: Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint.
774
- :param propagate_features: If True, the features will be propagated to all assets with the same asset_id
775
- :param metadata: Updated metadata for the asset. This can include any key-value pairs that should be updated or added to the asset's metadata.
776
328
  :param retries: Override the default retry configuration for this method
777
329
  :param server_url: Override the default server URL for this method
778
330
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -788,37 +340,27 @@ class Assets(BaseSDK):
788
340
  else:
789
341
  base_url = self._get_url(base_url, url_variables)
790
342
 
791
- request = models.PartialAssetUpdateV1AssetsAssetIDPatchRequest(
792
- asset_id=asset_id,
793
- x_namespace=x_namespace,
794
- update_asset_request=models.UpdateAssetRequest(
795
- propagate_features=propagate_features,
796
- metadata=utils.get_pydantic_model(
797
- metadata, Optional[models.UpdateAssetRequestMetadata]
798
- ),
799
- ),
343
+ request = (
344
+ models.GetObjectV1BucketsBucketIdentifierObjectsObjectIdentifierGetRequest(
345
+ bucket_identifier=bucket_identifier,
346
+ object_identifier=object_identifier,
347
+ x_namespace=x_namespace,
348
+ )
800
349
  )
801
350
 
802
351
  req = self._build_request(
803
- method="PATCH",
804
- path="/v1/assets/{asset_id}",
352
+ method="GET",
353
+ path="/v1/buckets/{bucket_identifier}/objects/{object_identifier}",
805
354
  base_url=base_url,
806
355
  url_variables=url_variables,
807
356
  request=request,
808
- request_body_required=True,
357
+ request_body_required=False,
809
358
  request_has_path_params=True,
810
359
  request_has_query_params=True,
811
360
  user_agent_header="user-agent",
812
361
  accept_header_value="application/json",
813
362
  http_headers=http_headers,
814
363
  security=self.sdk_configuration.security,
815
- get_serialized_body=lambda: utils.serialize_request_body(
816
- request.update_asset_request,
817
- False,
818
- False,
819
- "json",
820
- models.UpdateAssetRequest,
821
- ),
822
364
  timeout_ms=timeout_ms,
823
365
  )
824
366
 
@@ -833,7 +375,7 @@ class Assets(BaseSDK):
833
375
  http_res = self.do_request(
834
376
  hook_ctx=HookContext(
835
377
  base_url=base_url or "",
836
- operation_id="partial_asset_update_v1_assets__asset_id__patch",
378
+ operation_id="get_object_v1_buckets__bucket_identifier__objects__object_identifier__get",
837
379
  oauth2_scopes=[],
838
380
  security_source=get_security_from_env(
839
381
  self.sdk_configuration.security, models.Security
@@ -846,7 +388,7 @@ class Assets(BaseSDK):
846
388
 
847
389
  response_data: Any = None
848
390
  if utils.match_response(http_res, "200", "application/json"):
849
- return utils.unmarshal_json(http_res.text, models.AssetResponse)
391
+ return utils.unmarshal_json(http_res.text, models.ObjectResponse)
850
392
  if utils.match_response(
851
393
  http_res, ["400", "401", "403", "404"], "application/json"
852
394
  ):
@@ -884,32 +426,24 @@ class Assets(BaseSDK):
884
426
  http_res,
885
427
  )
886
428
 
887
- async def partial_update_async(
429
+ async def get_object_v1_buckets_bucket_identifier_objects_object_identifier_get_async(
888
430
  self,
889
431
  *,
890
- asset_id: str,
432
+ bucket_identifier: str,
433
+ object_identifier: str,
891
434
  x_namespace: OptionalNullable[str] = UNSET,
892
- propagate_features: OptionalNullable[bool] = UNSET,
893
- metadata: Optional[
894
- Union[
895
- models.UpdateAssetRequestMetadata,
896
- models.UpdateAssetRequestMetadataTypedDict,
897
- ]
898
- ] = None,
899
435
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
900
436
  server_url: Optional[str] = None,
901
437
  timeout_ms: Optional[int] = None,
902
438
  http_headers: Optional[Mapping[str, str]] = None,
903
- ) -> models.AssetResponse:
904
- r"""Partial Asset Update
439
+ ) -> models.ObjectResponse:
440
+ r"""Get Object
905
441
 
906
- **Requirements:**
907
- - Required permissions: write
442
+ This endpoint retrieves an object by its ID from the specified bucket.
908
443
 
909
- :param asset_id:
444
+ :param bucket_identifier: Identifier of the bucket
445
+ :param object_identifier: Identifier of the object
910
446
  :param x_namespace: Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint.
911
- :param propagate_features: If True, the features will be propagated to all assets with the same asset_id
912
- :param metadata: Updated metadata for the asset. This can include any key-value pairs that should be updated or added to the asset's metadata.
913
447
  :param retries: Override the default retry configuration for this method
914
448
  :param server_url: Override the default server URL for this method
915
449
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -925,37 +459,27 @@ class Assets(BaseSDK):
925
459
  else:
926
460
  base_url = self._get_url(base_url, url_variables)
927
461
 
928
- request = models.PartialAssetUpdateV1AssetsAssetIDPatchRequest(
929
- asset_id=asset_id,
930
- x_namespace=x_namespace,
931
- update_asset_request=models.UpdateAssetRequest(
932
- propagate_features=propagate_features,
933
- metadata=utils.get_pydantic_model(
934
- metadata, Optional[models.UpdateAssetRequestMetadata]
935
- ),
936
- ),
462
+ request = (
463
+ models.GetObjectV1BucketsBucketIdentifierObjectsObjectIdentifierGetRequest(
464
+ bucket_identifier=bucket_identifier,
465
+ object_identifier=object_identifier,
466
+ x_namespace=x_namespace,
467
+ )
937
468
  )
938
469
 
939
470
  req = self._build_request_async(
940
- method="PATCH",
941
- path="/v1/assets/{asset_id}",
471
+ method="GET",
472
+ path="/v1/buckets/{bucket_identifier}/objects/{object_identifier}",
942
473
  base_url=base_url,
943
474
  url_variables=url_variables,
944
475
  request=request,
945
- request_body_required=True,
476
+ request_body_required=False,
946
477
  request_has_path_params=True,
947
478
  request_has_query_params=True,
948
479
  user_agent_header="user-agent",
949
480
  accept_header_value="application/json",
950
481
  http_headers=http_headers,
951
482
  security=self.sdk_configuration.security,
952
- get_serialized_body=lambda: utils.serialize_request_body(
953
- request.update_asset_request,
954
- False,
955
- False,
956
- "json",
957
- models.UpdateAssetRequest,
958
- ),
959
483
  timeout_ms=timeout_ms,
960
484
  )
961
485
 
@@ -970,7 +494,7 @@ class Assets(BaseSDK):
970
494
  http_res = await self.do_request_async(
971
495
  hook_ctx=HookContext(
972
496
  base_url=base_url or "",
973
- operation_id="partial_asset_update_v1_assets__asset_id__patch",
497
+ operation_id="get_object_v1_buckets__bucket_identifier__objects__object_identifier__get",
974
498
  oauth2_scopes=[],
975
499
  security_source=get_security_from_env(
976
500
  self.sdk_configuration.security, models.Security
@@ -983,7 +507,7 @@ class Assets(BaseSDK):
983
507
 
984
508
  response_data: Any = None
985
509
  if utils.match_response(http_res, "200", "application/json"):
986
- return utils.unmarshal_json(http_res.text, models.AssetResponse)
510
+ return utils.unmarshal_json(http_res.text, models.ObjectResponse)
987
511
  if utils.match_response(
988
512
  http_res, ["400", "401", "403", "404"], "application/json"
989
513
  ):
@@ -1021,24 +545,42 @@ class Assets(BaseSDK):
1021
545
  http_res,
1022
546
  )
1023
547
 
1024
- def get_with_features(
548
+ def update_object_v1_buckets_bucket_identifier_objects_object_identifier_put(
1025
549
  self,
1026
550
  *,
1027
- asset_id: str,
1028
- return_url: Optional[bool] = False,
551
+ bucket_identifier: str,
552
+ object_identifier: str,
1029
553
  x_namespace: OptionalNullable[str] = UNSET,
554
+ key_prefix: OptionalNullable[str] = UNSET,
555
+ blobs: OptionalNullable[
556
+ Union[
557
+ List[models.CreateBlobRequest], List[models.CreateBlobRequestTypedDict]
558
+ ]
559
+ ] = UNSET,
560
+ metadata: OptionalNullable[
561
+ Union[
562
+ models.UpdateObjectRequestMetadata,
563
+ models.UpdateObjectRequestMetadataTypedDict,
564
+ ]
565
+ ] = UNSET,
566
+ skip_duplicates: OptionalNullable[bool] = UNSET,
1030
567
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
1031
568
  server_url: Optional[str] = None,
1032
569
  timeout_ms: Optional[int] = None,
1033
570
  http_headers: Optional[Mapping[str, str]] = None,
1034
- ) -> models.GroupedAssetData:
1035
- r"""Get Asset With Features
571
+ ) -> models.TaskResponse:
572
+ r"""Update Object
1036
573
 
1037
- Get asset details including all related features
574
+ This endpoint updates an existing object in the specified bucket.
575
+ The updated object must conform to the bucket's schema.
1038
576
 
1039
- :param asset_id: Unique identifier of the asset
1040
- :param return_url: Whether to generate and return presigned S3 URLs for the asset and preview. Set to false to improve performance when URLs aren't needed
577
+ :param bucket_identifier: Identifier of the bucket
578
+ :param object_identifier: Identifier of the object
1041
579
  :param x_namespace: Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint.
580
+ :param key_prefix: Updated storage key/path prefix of the object, this will be used to retrieve the object from the storage. It's at the root of the object.
581
+ :param blobs: List of new or updated blobs for this object
582
+ :param metadata: Updated metadata for the object, this will be merged with existing metadata.
583
+ :param skip_duplicates: Skip duplicate blobs, if a blob with the same hash already exists, it will be skipped.
1042
584
  :param retries: Override the default retry configuration for this method
1043
585
  :param server_url: Override the default server URL for this method
1044
586
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -1054,25 +596,42 @@ class Assets(BaseSDK):
1054
596
  else:
1055
597
  base_url = self._get_url(base_url, url_variables)
1056
598
 
1057
- request = models.GetAssetWithFeaturesV1AssetsAssetIDFeaturesGetRequest(
1058
- asset_id=asset_id,
1059
- return_url=return_url,
599
+ request = models.UpdateObjectV1BucketsBucketIdentifierObjectsObjectIdentifierPutRequest(
600
+ bucket_identifier=bucket_identifier,
601
+ object_identifier=object_identifier,
1060
602
  x_namespace=x_namespace,
603
+ update_object_request=models.UpdateObjectRequest(
604
+ key_prefix=key_prefix,
605
+ blobs=utils.get_pydantic_model(
606
+ blobs, OptionalNullable[List[models.CreateBlobRequest]]
607
+ ),
608
+ metadata=utils.get_pydantic_model(
609
+ metadata, OptionalNullable[models.UpdateObjectRequestMetadata]
610
+ ),
611
+ skip_duplicates=skip_duplicates,
612
+ ),
1061
613
  )
1062
614
 
1063
615
  req = self._build_request(
1064
- method="GET",
1065
- path="/v1/assets/{asset_id}/features",
616
+ method="PUT",
617
+ path="/v1/buckets/{bucket_identifier}/objects/{object_identifier}",
1066
618
  base_url=base_url,
1067
619
  url_variables=url_variables,
1068
620
  request=request,
1069
- request_body_required=False,
621
+ request_body_required=True,
1070
622
  request_has_path_params=True,
1071
623
  request_has_query_params=True,
1072
624
  user_agent_header="user-agent",
1073
625
  accept_header_value="application/json",
1074
626
  http_headers=http_headers,
1075
627
  security=self.sdk_configuration.security,
628
+ get_serialized_body=lambda: utils.serialize_request_body(
629
+ request.update_object_request,
630
+ False,
631
+ False,
632
+ "json",
633
+ models.UpdateObjectRequest,
634
+ ),
1076
635
  timeout_ms=timeout_ms,
1077
636
  )
1078
637
 
@@ -1087,7 +646,7 @@ class Assets(BaseSDK):
1087
646
  http_res = self.do_request(
1088
647
  hook_ctx=HookContext(
1089
648
  base_url=base_url or "",
1090
- operation_id="get_asset_with_features_v1_assets__asset_id__features_get",
649
+ operation_id="update_object_v1_buckets__bucket_identifier__objects__object_identifier__put",
1091
650
  oauth2_scopes=[],
1092
651
  security_source=get_security_from_env(
1093
652
  self.sdk_configuration.security, models.Security
@@ -1100,7 +659,7 @@ class Assets(BaseSDK):
1100
659
 
1101
660
  response_data: Any = None
1102
661
  if utils.match_response(http_res, "200", "application/json"):
1103
- return utils.unmarshal_json(http_res.text, models.GroupedAssetData)
662
+ return utils.unmarshal_json(http_res.text, models.TaskResponse)
1104
663
  if utils.match_response(
1105
664
  http_res, ["400", "401", "403", "404"], "application/json"
1106
665
  ):
@@ -1138,24 +697,42 @@ class Assets(BaseSDK):
1138
697
  http_res,
1139
698
  )
1140
699
 
1141
- async def get_with_features_async(
700
+ async def update_object_v1_buckets_bucket_identifier_objects_object_identifier_put_async(
1142
701
  self,
1143
702
  *,
1144
- asset_id: str,
1145
- return_url: Optional[bool] = False,
703
+ bucket_identifier: str,
704
+ object_identifier: str,
1146
705
  x_namespace: OptionalNullable[str] = UNSET,
706
+ key_prefix: OptionalNullable[str] = UNSET,
707
+ blobs: OptionalNullable[
708
+ Union[
709
+ List[models.CreateBlobRequest], List[models.CreateBlobRequestTypedDict]
710
+ ]
711
+ ] = UNSET,
712
+ metadata: OptionalNullable[
713
+ Union[
714
+ models.UpdateObjectRequestMetadata,
715
+ models.UpdateObjectRequestMetadataTypedDict,
716
+ ]
717
+ ] = UNSET,
718
+ skip_duplicates: OptionalNullable[bool] = UNSET,
1147
719
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
1148
720
  server_url: Optional[str] = None,
1149
721
  timeout_ms: Optional[int] = None,
1150
722
  http_headers: Optional[Mapping[str, str]] = None,
1151
- ) -> models.GroupedAssetData:
1152
- r"""Get Asset With Features
723
+ ) -> models.TaskResponse:
724
+ r"""Update Object
1153
725
 
1154
- Get asset details including all related features
726
+ This endpoint updates an existing object in the specified bucket.
727
+ The updated object must conform to the bucket's schema.
1155
728
 
1156
- :param asset_id: Unique identifier of the asset
1157
- :param return_url: Whether to generate and return presigned S3 URLs for the asset and preview. Set to false to improve performance when URLs aren't needed
729
+ :param bucket_identifier: Identifier of the bucket
730
+ :param object_identifier: Identifier of the object
1158
731
  :param x_namespace: Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint.
732
+ :param key_prefix: Updated storage key/path prefix of the object, this will be used to retrieve the object from the storage. It's at the root of the object.
733
+ :param blobs: List of new or updated blobs for this object
734
+ :param metadata: Updated metadata for the object, this will be merged with existing metadata.
735
+ :param skip_duplicates: Skip duplicate blobs, if a blob with the same hash already exists, it will be skipped.
1159
736
  :param retries: Override the default retry configuration for this method
1160
737
  :param server_url: Override the default server URL for this method
1161
738
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -1171,25 +748,42 @@ class Assets(BaseSDK):
1171
748
  else:
1172
749
  base_url = self._get_url(base_url, url_variables)
1173
750
 
1174
- request = models.GetAssetWithFeaturesV1AssetsAssetIDFeaturesGetRequest(
1175
- asset_id=asset_id,
1176
- return_url=return_url,
751
+ request = models.UpdateObjectV1BucketsBucketIdentifierObjectsObjectIdentifierPutRequest(
752
+ bucket_identifier=bucket_identifier,
753
+ object_identifier=object_identifier,
1177
754
  x_namespace=x_namespace,
755
+ update_object_request=models.UpdateObjectRequest(
756
+ key_prefix=key_prefix,
757
+ blobs=utils.get_pydantic_model(
758
+ blobs, OptionalNullable[List[models.CreateBlobRequest]]
759
+ ),
760
+ metadata=utils.get_pydantic_model(
761
+ metadata, OptionalNullable[models.UpdateObjectRequestMetadata]
762
+ ),
763
+ skip_duplicates=skip_duplicates,
764
+ ),
1178
765
  )
1179
766
 
1180
767
  req = self._build_request_async(
1181
- method="GET",
1182
- path="/v1/assets/{asset_id}/features",
768
+ method="PUT",
769
+ path="/v1/buckets/{bucket_identifier}/objects/{object_identifier}",
1183
770
  base_url=base_url,
1184
771
  url_variables=url_variables,
1185
772
  request=request,
1186
- request_body_required=False,
773
+ request_body_required=True,
1187
774
  request_has_path_params=True,
1188
775
  request_has_query_params=True,
1189
776
  user_agent_header="user-agent",
1190
777
  accept_header_value="application/json",
1191
778
  http_headers=http_headers,
1192
779
  security=self.sdk_configuration.security,
780
+ get_serialized_body=lambda: utils.serialize_request_body(
781
+ request.update_object_request,
782
+ False,
783
+ False,
784
+ "json",
785
+ models.UpdateObjectRequest,
786
+ ),
1193
787
  timeout_ms=timeout_ms,
1194
788
  )
1195
789
 
@@ -1204,7 +798,7 @@ class Assets(BaseSDK):
1204
798
  http_res = await self.do_request_async(
1205
799
  hook_ctx=HookContext(
1206
800
  base_url=base_url or "",
1207
- operation_id="get_asset_with_features_v1_assets__asset_id__features_get",
801
+ operation_id="update_object_v1_buckets__bucket_identifier__objects__object_identifier__put",
1208
802
  oauth2_scopes=[],
1209
803
  security_source=get_security_from_env(
1210
804
  self.sdk_configuration.security, models.Security
@@ -1217,7 +811,7 @@ class Assets(BaseSDK):
1217
811
 
1218
812
  response_data: Any = None
1219
813
  if utils.match_response(http_res, "200", "application/json"):
1220
- return utils.unmarshal_json(http_res.text, models.GroupedAssetData)
814
+ return utils.unmarshal_json(http_res.text, models.TaskResponse)
1221
815
  if utils.match_response(
1222
816
  http_res, ["400", "401", "403", "404"], "application/json"
1223
817
  ):
@@ -1255,40 +849,24 @@ class Assets(BaseSDK):
1255
849
  http_res,
1256
850
  )
1257
851
 
1258
- def list(
852
+ def delete_object_v1_buckets_bucket_identifier_objects_object_identifier_delete(
1259
853
  self,
1260
854
  *,
1261
- collections: List[str],
1262
- page: OptionalNullable[int] = UNSET,
1263
- page_size: Optional[int] = 10,
855
+ bucket_identifier: str,
856
+ object_identifier: str,
1264
857
  x_namespace: OptionalNullable[str] = UNSET,
1265
- filters: OptionalNullable[
1266
- Union[models.LogicalOperator, models.LogicalOperatorTypedDict]
1267
- ] = UNSET,
1268
- group_by: OptionalNullable[
1269
- Union[models.GroupByOptionsAsset, models.GroupByOptionsAssetTypedDict]
1270
- ] = UNSET,
1271
- sort: OptionalNullable[
1272
- Union[models.SortOption, models.SortOptionTypedDict]
1273
- ] = UNSET,
1274
- select: OptionalNullable[List[str]] = UNSET,
1275
- return_url: OptionalNullable[bool] = UNSET,
1276
858
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
1277
859
  server_url: Optional[str] = None,
1278
860
  timeout_ms: Optional[int] = None,
1279
861
  http_headers: Optional[Mapping[str, str]] = None,
1280
- ) -> models.ListAssetsResponse:
1281
- r"""List Assets
862
+ ) -> models.TaskResponse:
863
+ r"""Delete Object
1282
864
 
1283
- :param collections: List of Collection IDs or Names to search within, required
1284
- :param page:
1285
- :param page_size:
865
+ This endpoint deletes an object from the specified bucket.
866
+
867
+ :param bucket_identifier: Identifier of the bucket
868
+ :param object_identifier: Identifier of the object
1286
869
  :param x_namespace: Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint.
1287
- :param filters: Used for filtering across all indexes
1288
- :param group_by: Grouping options for search results
1289
- :param sort: List of fields to sort by, with direction (asc or desc). Supports dot notation for nested fields.
1290
- :param select: List of fields to return in results, supports dot notation. If None, all fields are returned.
1291
- :param return_url: Return the presigned URL for the asset and preview asset, this will introduce additional latency
1292
870
  :param retries: Override the default retry configuration for this method
1293
871
  :param server_url: Override the default server URL for this method
1294
872
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -1304,46 +882,25 @@ class Assets(BaseSDK):
1304
882
  else:
1305
883
  base_url = self._get_url(base_url, url_variables)
1306
884
 
1307
- request = models.ListAssetsV1AssetsPostRequest(
1308
- page=page,
1309
- page_size=page_size,
885
+ request = models.DeleteObjectV1BucketsBucketIdentifierObjectsObjectIdentifierDeleteRequest(
886
+ bucket_identifier=bucket_identifier,
887
+ object_identifier=object_identifier,
1310
888
  x_namespace=x_namespace,
1311
- list_assets_request=models.ListAssetsRequest(
1312
- collections=collections,
1313
- filters=utils.get_pydantic_model(
1314
- filters, OptionalNullable[models.LogicalOperator]
1315
- ),
1316
- group_by=utils.get_pydantic_model(
1317
- group_by, OptionalNullable[models.GroupByOptionsAsset]
1318
- ),
1319
- sort=utils.get_pydantic_model(
1320
- sort, OptionalNullable[models.SortOption]
1321
- ),
1322
- select=select,
1323
- return_url=return_url,
1324
- ),
1325
889
  )
1326
890
 
1327
891
  req = self._build_request(
1328
- method="POST",
1329
- path="/v1/assets",
892
+ method="DELETE",
893
+ path="/v1/buckets/{bucket_identifier}/objects/{object_identifier}",
1330
894
  base_url=base_url,
1331
895
  url_variables=url_variables,
1332
896
  request=request,
1333
- request_body_required=True,
1334
- request_has_path_params=False,
897
+ request_body_required=False,
898
+ request_has_path_params=True,
1335
899
  request_has_query_params=True,
1336
900
  user_agent_header="user-agent",
1337
901
  accept_header_value="application/json",
1338
902
  http_headers=http_headers,
1339
903
  security=self.sdk_configuration.security,
1340
- get_serialized_body=lambda: utils.serialize_request_body(
1341
- request.list_assets_request,
1342
- False,
1343
- False,
1344
- "json",
1345
- models.ListAssetsRequest,
1346
- ),
1347
904
  timeout_ms=timeout_ms,
1348
905
  )
1349
906
 
@@ -1358,7 +915,7 @@ class Assets(BaseSDK):
1358
915
  http_res = self.do_request(
1359
916
  hook_ctx=HookContext(
1360
917
  base_url=base_url or "",
1361
- operation_id="list_assets_v1_assets_post",
918
+ operation_id="delete_object_v1_buckets__bucket_identifier__objects__object_identifier__delete",
1362
919
  oauth2_scopes=[],
1363
920
  security_source=get_security_from_env(
1364
921
  self.sdk_configuration.security, models.Security
@@ -1371,7 +928,7 @@ class Assets(BaseSDK):
1371
928
 
1372
929
  response_data: Any = None
1373
930
  if utils.match_response(http_res, "200", "application/json"):
1374
- return utils.unmarshal_json(http_res.text, models.ListAssetsResponse)
931
+ return utils.unmarshal_json(http_res.text, models.TaskResponse)
1375
932
  if utils.match_response(
1376
933
  http_res, ["400", "401", "403", "404"], "application/json"
1377
934
  ):
@@ -1409,40 +966,24 @@ class Assets(BaseSDK):
1409
966
  http_res,
1410
967
  )
1411
968
 
1412
- async def list_async(
969
+ async def delete_object_v1_buckets_bucket_identifier_objects_object_identifier_delete_async(
1413
970
  self,
1414
971
  *,
1415
- collections: List[str],
1416
- page: OptionalNullable[int] = UNSET,
1417
- page_size: Optional[int] = 10,
972
+ bucket_identifier: str,
973
+ object_identifier: str,
1418
974
  x_namespace: OptionalNullable[str] = UNSET,
1419
- filters: OptionalNullable[
1420
- Union[models.LogicalOperator, models.LogicalOperatorTypedDict]
1421
- ] = UNSET,
1422
- group_by: OptionalNullable[
1423
- Union[models.GroupByOptionsAsset, models.GroupByOptionsAssetTypedDict]
1424
- ] = UNSET,
1425
- sort: OptionalNullable[
1426
- Union[models.SortOption, models.SortOptionTypedDict]
1427
- ] = UNSET,
1428
- select: OptionalNullable[List[str]] = UNSET,
1429
- return_url: OptionalNullable[bool] = UNSET,
1430
975
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
1431
976
  server_url: Optional[str] = None,
1432
977
  timeout_ms: Optional[int] = None,
1433
978
  http_headers: Optional[Mapping[str, str]] = None,
1434
- ) -> models.ListAssetsResponse:
1435
- r"""List Assets
979
+ ) -> models.TaskResponse:
980
+ r"""Delete Object
1436
981
 
1437
- :param collections: List of Collection IDs or Names to search within, required
1438
- :param page:
1439
- :param page_size:
982
+ This endpoint deletes an object from the specified bucket.
983
+
984
+ :param bucket_identifier: Identifier of the bucket
985
+ :param object_identifier: Identifier of the object
1440
986
  :param x_namespace: Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint.
1441
- :param filters: Used for filtering across all indexes
1442
- :param group_by: Grouping options for search results
1443
- :param sort: List of fields to sort by, with direction (asc or desc). Supports dot notation for nested fields.
1444
- :param select: List of fields to return in results, supports dot notation. If None, all fields are returned.
1445
- :param return_url: Return the presigned URL for the asset and preview asset, this will introduce additional latency
1446
987
  :param retries: Override the default retry configuration for this method
1447
988
  :param server_url: Override the default server URL for this method
1448
989
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -1458,46 +999,25 @@ class Assets(BaseSDK):
1458
999
  else:
1459
1000
  base_url = self._get_url(base_url, url_variables)
1460
1001
 
1461
- request = models.ListAssetsV1AssetsPostRequest(
1462
- page=page,
1463
- page_size=page_size,
1002
+ request = models.DeleteObjectV1BucketsBucketIdentifierObjectsObjectIdentifierDeleteRequest(
1003
+ bucket_identifier=bucket_identifier,
1004
+ object_identifier=object_identifier,
1464
1005
  x_namespace=x_namespace,
1465
- list_assets_request=models.ListAssetsRequest(
1466
- collections=collections,
1467
- filters=utils.get_pydantic_model(
1468
- filters, OptionalNullable[models.LogicalOperator]
1469
- ),
1470
- group_by=utils.get_pydantic_model(
1471
- group_by, OptionalNullable[models.GroupByOptionsAsset]
1472
- ),
1473
- sort=utils.get_pydantic_model(
1474
- sort, OptionalNullable[models.SortOption]
1475
- ),
1476
- select=select,
1477
- return_url=return_url,
1478
- ),
1479
1006
  )
1480
1007
 
1481
1008
  req = self._build_request_async(
1482
- method="POST",
1483
- path="/v1/assets",
1009
+ method="DELETE",
1010
+ path="/v1/buckets/{bucket_identifier}/objects/{object_identifier}",
1484
1011
  base_url=base_url,
1485
1012
  url_variables=url_variables,
1486
1013
  request=request,
1487
- request_body_required=True,
1488
- request_has_path_params=False,
1014
+ request_body_required=False,
1015
+ request_has_path_params=True,
1489
1016
  request_has_query_params=True,
1490
1017
  user_agent_header="user-agent",
1491
1018
  accept_header_value="application/json",
1492
1019
  http_headers=http_headers,
1493
1020
  security=self.sdk_configuration.security,
1494
- get_serialized_body=lambda: utils.serialize_request_body(
1495
- request.list_assets_request,
1496
- False,
1497
- False,
1498
- "json",
1499
- models.ListAssetsRequest,
1500
- ),
1501
1021
  timeout_ms=timeout_ms,
1502
1022
  )
1503
1023
 
@@ -1512,7 +1032,7 @@ class Assets(BaseSDK):
1512
1032
  http_res = await self.do_request_async(
1513
1033
  hook_ctx=HookContext(
1514
1034
  base_url=base_url or "",
1515
- operation_id="list_assets_v1_assets_post",
1035
+ operation_id="delete_object_v1_buckets__bucket_identifier__objects__object_identifier__delete",
1516
1036
  oauth2_scopes=[],
1517
1037
  security_source=get_security_from_env(
1518
1038
  self.sdk_configuration.security, models.Security
@@ -1525,7 +1045,7 @@ class Assets(BaseSDK):
1525
1045
 
1526
1046
  response_data: Any = None
1527
1047
  if utils.match_response(http_res, "200", "application/json"):
1528
- return utils.unmarshal_json(http_res.text, models.ListAssetsResponse)
1048
+ return utils.unmarshal_json(http_res.text, models.TaskResponse)
1529
1049
  if utils.match_response(
1530
1050
  http_res, ["400", "401", "403", "404"], "application/json"
1531
1051
  ):
@@ -1563,36 +1083,36 @@ class Assets(BaseSDK):
1563
1083
  http_res,
1564
1084
  )
1565
1085
 
1566
- def search(
1086
+ def list_objects_v1_buckets_bucket_identifier_objects_post(
1567
1087
  self,
1568
1088
  *,
1569
- collections: List[str],
1089
+ bucket_identifier: str,
1090
+ limit: OptionalNullable[int] = UNSET,
1091
+ offset: OptionalNullable[int] = UNSET,
1570
1092
  x_namespace: OptionalNullable[str] = UNSET,
1571
- query: OptionalNullable[
1572
- Union[models.AssetsModelSearchQuery, models.AssetsModelSearchQueryTypedDict]
1573
- ] = UNSET,
1574
1093
  filters: OptionalNullable[
1575
- Union[models.LogicalOperator, models.LogicalOperatorTypedDict]
1094
+ Union[models.LogicalOperatorInput, models.LogicalOperatorInputTypedDict]
1576
1095
  ] = UNSET,
1577
1096
  sort: OptionalNullable[
1578
1097
  Union[models.SortOption, models.SortOptionTypedDict]
1579
1098
  ] = UNSET,
1580
- select: OptionalNullable[List[str]] = UNSET,
1581
- return_url: OptionalNullable[bool] = UNSET,
1099
+ search: OptionalNullable[str] = UNSET,
1582
1100
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
1583
1101
  server_url: Optional[str] = None,
1584
1102
  timeout_ms: Optional[int] = None,
1585
1103
  http_headers: Optional[Mapping[str, str]] = None,
1586
- ) -> models.ListAssetsResponse:
1587
- r"""Search Assets
1104
+ ) -> models.ListObjectsResponse:
1105
+ r"""List Objects
1106
+
1107
+ This endpoint lists objects in a bucket with pagination, sorting, and filtering options.
1588
1108
 
1589
- :param collections: List of Collection IDs or Names to search within, required
1109
+ :param bucket_identifier: Identifier of the bucket
1110
+ :param limit:
1111
+ :param offset:
1590
1112
  :param x_namespace: Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint.
1591
- :param query: Structured query object specifying which fields to search in and what to search for
1592
- :param filters: Complex nested query filters
1593
- :param sort: List of fields to sort by
1594
- :param select: List of fields to return in results
1595
- :param return_url: Return the presigned URL for the asset and preview asset, this will introduce additional latency
1113
+ :param filters: Filters to apply to the object list
1114
+ :param sort: Sort options for the object list
1115
+ :param search: Search term to filter objects by key or metadata
1596
1116
  :param retries: Override the default retry configuration for this method
1597
1117
  :param server_url: Override the default server URL for this method
1598
1118
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -1608,43 +1128,41 @@ class Assets(BaseSDK):
1608
1128
  else:
1609
1129
  base_url = self._get_url(base_url, url_variables)
1610
1130
 
1611
- request = models.SearchAssetsV1AssetsSearchPostRequest(
1131
+ request = models.ListObjectsV1BucketsBucketIdentifierObjectsPostRequest(
1132
+ bucket_identifier=bucket_identifier,
1133
+ limit=limit,
1134
+ offset=offset,
1612
1135
  x_namespace=x_namespace,
1613
- search_assets_request=models.SearchAssetsRequest(
1614
- query=utils.get_pydantic_model(
1615
- query, OptionalNullable[models.AssetsModelSearchQuery]
1616
- ),
1617
- collections=collections,
1136
+ list_objects_request=models.ListObjectsRequest(
1618
1137
  filters=utils.get_pydantic_model(
1619
- filters, OptionalNullable[models.LogicalOperator]
1138
+ filters, OptionalNullable[models.LogicalOperatorInput]
1620
1139
  ),
1621
1140
  sort=utils.get_pydantic_model(
1622
1141
  sort, OptionalNullable[models.SortOption]
1623
1142
  ),
1624
- select=select,
1625
- return_url=return_url,
1143
+ search=search,
1626
1144
  ),
1627
1145
  )
1628
1146
 
1629
1147
  req = self._build_request(
1630
1148
  method="POST",
1631
- path="/v1/assets/search",
1149
+ path="/v1/buckets/{bucket_identifier}/objects",
1632
1150
  base_url=base_url,
1633
1151
  url_variables=url_variables,
1634
1152
  request=request,
1635
- request_body_required=True,
1636
- request_has_path_params=False,
1153
+ request_body_required=False,
1154
+ request_has_path_params=True,
1637
1155
  request_has_query_params=True,
1638
1156
  user_agent_header="user-agent",
1639
1157
  accept_header_value="application/json",
1640
1158
  http_headers=http_headers,
1641
1159
  security=self.sdk_configuration.security,
1642
1160
  get_serialized_body=lambda: utils.serialize_request_body(
1643
- request.search_assets_request,
1644
- False,
1161
+ request.list_objects_request,
1645
1162
  False,
1163
+ True,
1646
1164
  "json",
1647
- models.SearchAssetsRequest,
1165
+ Optional[models.ListObjectsRequest],
1648
1166
  ),
1649
1167
  timeout_ms=timeout_ms,
1650
1168
  )
@@ -1660,7 +1178,7 @@ class Assets(BaseSDK):
1660
1178
  http_res = self.do_request(
1661
1179
  hook_ctx=HookContext(
1662
1180
  base_url=base_url or "",
1663
- operation_id="search_assets_v1_assets_search_post",
1181
+ operation_id="list_objects_v1_buckets__bucket_identifier__objects_post",
1664
1182
  oauth2_scopes=[],
1665
1183
  security_source=get_security_from_env(
1666
1184
  self.sdk_configuration.security, models.Security
@@ -1673,7 +1191,7 @@ class Assets(BaseSDK):
1673
1191
 
1674
1192
  response_data: Any = None
1675
1193
  if utils.match_response(http_res, "200", "application/json"):
1676
- return utils.unmarshal_json(http_res.text, models.ListAssetsResponse)
1194
+ return utils.unmarshal_json(http_res.text, models.ListObjectsResponse)
1677
1195
  if utils.match_response(
1678
1196
  http_res, ["400", "401", "403", "404"], "application/json"
1679
1197
  ):
@@ -1711,36 +1229,36 @@ class Assets(BaseSDK):
1711
1229
  http_res,
1712
1230
  )
1713
1231
 
1714
- async def search_async(
1232
+ async def list_objects_v1_buckets_bucket_identifier_objects_post_async(
1715
1233
  self,
1716
1234
  *,
1717
- collections: List[str],
1235
+ bucket_identifier: str,
1236
+ limit: OptionalNullable[int] = UNSET,
1237
+ offset: OptionalNullable[int] = UNSET,
1718
1238
  x_namespace: OptionalNullable[str] = UNSET,
1719
- query: OptionalNullable[
1720
- Union[models.AssetsModelSearchQuery, models.AssetsModelSearchQueryTypedDict]
1721
- ] = UNSET,
1722
1239
  filters: OptionalNullable[
1723
- Union[models.LogicalOperator, models.LogicalOperatorTypedDict]
1240
+ Union[models.LogicalOperatorInput, models.LogicalOperatorInputTypedDict]
1724
1241
  ] = UNSET,
1725
1242
  sort: OptionalNullable[
1726
1243
  Union[models.SortOption, models.SortOptionTypedDict]
1727
1244
  ] = UNSET,
1728
- select: OptionalNullable[List[str]] = UNSET,
1729
- return_url: OptionalNullable[bool] = UNSET,
1245
+ search: OptionalNullable[str] = UNSET,
1730
1246
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
1731
1247
  server_url: Optional[str] = None,
1732
1248
  timeout_ms: Optional[int] = None,
1733
1249
  http_headers: Optional[Mapping[str, str]] = None,
1734
- ) -> models.ListAssetsResponse:
1735
- r"""Search Assets
1250
+ ) -> models.ListObjectsResponse:
1251
+ r"""List Objects
1736
1252
 
1737
- :param collections: List of Collection IDs or Names to search within, required
1253
+ This endpoint lists objects in a bucket with pagination, sorting, and filtering options.
1254
+
1255
+ :param bucket_identifier: Identifier of the bucket
1256
+ :param limit:
1257
+ :param offset:
1738
1258
  :param x_namespace: Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint.
1739
- :param query: Structured query object specifying which fields to search in and what to search for
1740
- :param filters: Complex nested query filters
1741
- :param sort: List of fields to sort by
1742
- :param select: List of fields to return in results
1743
- :param return_url: Return the presigned URL for the asset and preview asset, this will introduce additional latency
1259
+ :param filters: Filters to apply to the object list
1260
+ :param sort: Sort options for the object list
1261
+ :param search: Search term to filter objects by key or metadata
1744
1262
  :param retries: Override the default retry configuration for this method
1745
1263
  :param server_url: Override the default server URL for this method
1746
1264
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -1756,43 +1274,41 @@ class Assets(BaseSDK):
1756
1274
  else:
1757
1275
  base_url = self._get_url(base_url, url_variables)
1758
1276
 
1759
- request = models.SearchAssetsV1AssetsSearchPostRequest(
1277
+ request = models.ListObjectsV1BucketsBucketIdentifierObjectsPostRequest(
1278
+ bucket_identifier=bucket_identifier,
1279
+ limit=limit,
1280
+ offset=offset,
1760
1281
  x_namespace=x_namespace,
1761
- search_assets_request=models.SearchAssetsRequest(
1762
- query=utils.get_pydantic_model(
1763
- query, OptionalNullable[models.AssetsModelSearchQuery]
1764
- ),
1765
- collections=collections,
1282
+ list_objects_request=models.ListObjectsRequest(
1766
1283
  filters=utils.get_pydantic_model(
1767
- filters, OptionalNullable[models.LogicalOperator]
1284
+ filters, OptionalNullable[models.LogicalOperatorInput]
1768
1285
  ),
1769
1286
  sort=utils.get_pydantic_model(
1770
1287
  sort, OptionalNullable[models.SortOption]
1771
1288
  ),
1772
- select=select,
1773
- return_url=return_url,
1289
+ search=search,
1774
1290
  ),
1775
1291
  )
1776
1292
 
1777
1293
  req = self._build_request_async(
1778
1294
  method="POST",
1779
- path="/v1/assets/search",
1295
+ path="/v1/buckets/{bucket_identifier}/objects",
1780
1296
  base_url=base_url,
1781
1297
  url_variables=url_variables,
1782
1298
  request=request,
1783
- request_body_required=True,
1784
- request_has_path_params=False,
1299
+ request_body_required=False,
1300
+ request_has_path_params=True,
1785
1301
  request_has_query_params=True,
1786
1302
  user_agent_header="user-agent",
1787
1303
  accept_header_value="application/json",
1788
1304
  http_headers=http_headers,
1789
1305
  security=self.sdk_configuration.security,
1790
1306
  get_serialized_body=lambda: utils.serialize_request_body(
1791
- request.search_assets_request,
1792
- False,
1307
+ request.list_objects_request,
1793
1308
  False,
1309
+ True,
1794
1310
  "json",
1795
- models.SearchAssetsRequest,
1311
+ Optional[models.ListObjectsRequest],
1796
1312
  ),
1797
1313
  timeout_ms=timeout_ms,
1798
1314
  )
@@ -1808,7 +1324,7 @@ class Assets(BaseSDK):
1808
1324
  http_res = await self.do_request_async(
1809
1325
  hook_ctx=HookContext(
1810
1326
  base_url=base_url or "",
1811
- operation_id="search_assets_v1_assets_search_post",
1327
+ operation_id="list_objects_v1_buckets__bucket_identifier__objects_post",
1812
1328
  oauth2_scopes=[],
1813
1329
  security_source=get_security_from_env(
1814
1330
  self.sdk_configuration.security, models.Security
@@ -1821,7 +1337,7 @@ class Assets(BaseSDK):
1821
1337
 
1822
1338
  response_data: Any = None
1823
1339
  if utils.match_response(http_res, "200", "application/json"):
1824
- return utils.unmarshal_json(http_res.text, models.ListAssetsResponse)
1340
+ return utils.unmarshal_json(http_res.text, models.ListObjectsResponse)
1825
1341
  if utils.match_response(
1826
1342
  http_res, ["400", "401", "403", "404"], "application/json"
1827
1343
  ):