2121from ..pagination import SyncOpenAICursorPage , AsyncOpenAICursorPage
2222from ..types .file import File
2323from .._base_client import AsyncPaginator , make_request_options
24+ from ..types .delete_file_response import DeleteFileResponse
2425
2526__all__ = ["FilesResource" , "AsyncFilesResource" ]
2627
@@ -106,6 +107,39 @@ def create(
106107 cast_to = File ,
107108 )
108109
110+ def retrieve (
111+ self ,
112+ file_id : str ,
113+ * ,
114+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
115+ # The extra values given here take precedence over values defined on the client or passed to this method.
116+ extra_headers : Headers | None = None ,
117+ extra_query : Query | None = None ,
118+ extra_body : Body | None = None ,
119+ timeout : float | httpx .Timeout | None | NotGiven = not_given ,
120+ ) -> File :
121+ """
122+ Returns information about a specific file.
123+
124+ Args:
125+ extra_headers: Send extra headers
126+
127+ extra_query: Add additional query parameters to the request
128+
129+ extra_body: Add additional JSON properties to the request
130+
131+ timeout: Override the client-level default timeout for this request, in seconds
132+ """
133+ if not file_id :
134+ raise ValueError (f"Expected a non-empty value for `file_id` but received { file_id !r} " )
135+ return self ._get (
136+ f"/v1/files/{ file_id } " ,
137+ options = make_request_options (
138+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
139+ ),
140+ cast_to = File ,
141+ )
142+
109143 def list (
110144 self ,
111145 * ,
@@ -166,6 +200,39 @@ def list(
166200 model = File ,
167201 )
168202
203+ def delete (
204+ self ,
205+ file_id : str ,
206+ * ,
207+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
208+ # The extra values given here take precedence over values defined on the client or passed to this method.
209+ extra_headers : Headers | None = None ,
210+ extra_query : Query | None = None ,
211+ extra_body : Body | None = None ,
212+ timeout : float | httpx .Timeout | None | NotGiven = not_given ,
213+ ) -> DeleteFileResponse :
214+ """
215+ Delete a file.
216+
217+ Args:
218+ extra_headers: Send extra headers
219+
220+ extra_query: Add additional query parameters to the request
221+
222+ extra_body: Add additional JSON properties to the request
223+
224+ timeout: Override the client-level default timeout for this request, in seconds
225+ """
226+ if not file_id :
227+ raise ValueError (f"Expected a non-empty value for `file_id` but received { file_id !r} " )
228+ return self ._delete (
229+ f"/v1/files/{ file_id } " ,
230+ options = make_request_options (
231+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
232+ ),
233+ cast_to = DeleteFileResponse ,
234+ )
235+
169236 def content (
170237 self ,
171238 file_id : str ,
@@ -281,6 +348,39 @@ async def create(
281348 cast_to = File ,
282349 )
283350
351+ async def retrieve (
352+ self ,
353+ file_id : str ,
354+ * ,
355+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
356+ # The extra values given here take precedence over values defined on the client or passed to this method.
357+ extra_headers : Headers | None = None ,
358+ extra_query : Query | None = None ,
359+ extra_body : Body | None = None ,
360+ timeout : float | httpx .Timeout | None | NotGiven = not_given ,
361+ ) -> File :
362+ """
363+ Returns information about a specific file.
364+
365+ Args:
366+ extra_headers: Send extra headers
367+
368+ extra_query: Add additional query parameters to the request
369+
370+ extra_body: Add additional JSON properties to the request
371+
372+ timeout: Override the client-level default timeout for this request, in seconds
373+ """
374+ if not file_id :
375+ raise ValueError (f"Expected a non-empty value for `file_id` but received { file_id !r} " )
376+ return await self ._get (
377+ f"/v1/files/{ file_id } " ,
378+ options = make_request_options (
379+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
380+ ),
381+ cast_to = File ,
382+ )
383+
284384 def list (
285385 self ,
286386 * ,
@@ -341,6 +441,39 @@ def list(
341441 model = File ,
342442 )
343443
444+ async def delete (
445+ self ,
446+ file_id : str ,
447+ * ,
448+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
449+ # The extra values given here take precedence over values defined on the client or passed to this method.
450+ extra_headers : Headers | None = None ,
451+ extra_query : Query | None = None ,
452+ extra_body : Body | None = None ,
453+ timeout : float | httpx .Timeout | None | NotGiven = not_given ,
454+ ) -> DeleteFileResponse :
455+ """
456+ Delete a file.
457+
458+ Args:
459+ extra_headers: Send extra headers
460+
461+ extra_query: Add additional query parameters to the request
462+
463+ extra_body: Add additional JSON properties to the request
464+
465+ timeout: Override the client-level default timeout for this request, in seconds
466+ """
467+ if not file_id :
468+ raise ValueError (f"Expected a non-empty value for `file_id` but received { file_id !r} " )
469+ return await self ._delete (
470+ f"/v1/files/{ file_id } " ,
471+ options = make_request_options (
472+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
473+ ),
474+ cast_to = DeleteFileResponse ,
475+ )
476+
344477 async def content (
345478 self ,
346479 file_id : str ,
@@ -382,9 +515,15 @@ def __init__(self, files: FilesResource) -> None:
382515 self .create = to_raw_response_wrapper (
383516 files .create ,
384517 )
518+ self .retrieve = to_raw_response_wrapper (
519+ files .retrieve ,
520+ )
385521 self .list = to_raw_response_wrapper (
386522 files .list ,
387523 )
524+ self .delete = to_raw_response_wrapper (
525+ files .delete ,
526+ )
388527 self .content = to_raw_response_wrapper (
389528 files .content ,
390529 )
@@ -397,9 +536,15 @@ def __init__(self, files: AsyncFilesResource) -> None:
397536 self .create = async_to_raw_response_wrapper (
398537 files .create ,
399538 )
539+ self .retrieve = async_to_raw_response_wrapper (
540+ files .retrieve ,
541+ )
400542 self .list = async_to_raw_response_wrapper (
401543 files .list ,
402544 )
545+ self .delete = async_to_raw_response_wrapper (
546+ files .delete ,
547+ )
403548 self .content = async_to_raw_response_wrapper (
404549 files .content ,
405550 )
@@ -412,9 +557,15 @@ def __init__(self, files: FilesResource) -> None:
412557 self .create = to_streamed_response_wrapper (
413558 files .create ,
414559 )
560+ self .retrieve = to_streamed_response_wrapper (
561+ files .retrieve ,
562+ )
415563 self .list = to_streamed_response_wrapper (
416564 files .list ,
417565 )
566+ self .delete = to_streamed_response_wrapper (
567+ files .delete ,
568+ )
418569 self .content = to_streamed_response_wrapper (
419570 files .content ,
420571 )
@@ -427,9 +578,15 @@ def __init__(self, files: AsyncFilesResource) -> None:
427578 self .create = async_to_streamed_response_wrapper (
428579 files .create ,
429580 )
581+ self .retrieve = async_to_streamed_response_wrapper (
582+ files .retrieve ,
583+ )
430584 self .list = async_to_streamed_response_wrapper (
431585 files .list ,
432586 )
587+ self .delete = async_to_streamed_response_wrapper (
588+ files .delete ,
589+ )
433590 self .content = async_to_streamed_response_wrapper (
434591 files .content ,
435592 )
0 commit comments