Files hooks

React hooks for files. Standard CRUD (`useListFiles`, `useRetrieveFile`, `useCreateFile`, `useUpdateFile`, `useDeleteFile`, `useRestoreFile`) is generated; see ./files.gen. Hooks for the multipart upload lifecycle (sign parts, complete, abort), the presigned download URL, and the convert-from-URL family are hand-written below.

Hooks

useAbortFileUpload composite

Abort an in-progress multipart upload.

TypeScript
useAbortFileUpload(options?: MutationOpts<SuccessResponse, AbortFileUploadParams>)

Types: SuccessResponse · AbortFileUploadParams

TypeScript
const abort = useAbortFileUpload();
abort.mutate({ id: "fil_abc123" });

useCompleteFileUpload composite

Complete a multipart upload. Transitions the file row to ready.

TypeScript
useCompleteFileUpload(options?: MutationOpts<File, CompleteFileUploadParams>)

Types: File · CompleteFileUploadParams

TypeScript
const complete = useCompleteFileUpload();
complete.mutate({ id: "fil_abc123", parts: [{ partNumber: 1, etag: "..." }] });

useConvertFileToMarkdown composite

Convert an existing file (PDF / DOCX / PPTX / XLSX / image / HTML / …) to markdown via Cloudflare Workers AI. Creates a new text/markdown file; invalidates file queries on success.

TypeScript
useConvertFileToMarkdown(options?: MutationOpts<File, ToMarkdownParams>)

Types: File · ToMarkdownParams

TypeScript
const toMd = useConvertFileToMarkdown();
toMd.mutate({ id: "fil_abc123" });

useCreateFile mutation

Initiate a multipart upload — creates a file row in uploading state.

TypeScript
useCreateFile(options?: MutationOpts<CreateFileResponse, CreateFileParams>)

Types: CreateFileResponse · CreateFileParams

useCreateHtmlFromUrl mutation

Capture the post-render HTML of a URL via Cloudflare Browser Rendering. Creates a text/html file; invalidates file queries on success.

TypeScript
useCreateHtmlFromUrl(options?: MutationOpts<File, HtmlFromUrlParams>)

Types: File · HtmlFromUrlParams

TypeScript
const html = useCreateHtmlFromUrl();
html.mutate({ workspaceId: "wsp_abc123", url: "https://example.com" });

useCreateMarkdownFromUrl mutation

Render a URL and extract its content as markdown via Cloudflare Browser Rendering. Creates a text/markdown file; invalidates file queries on success.

TypeScript
useCreateMarkdownFromUrl(options?: MutationOpts<File, MarkdownFromUrlParams>)

Types: File · MarkdownFromUrlParams

TypeScript
const md = useCreateMarkdownFromUrl();
md.mutate({ workspaceId: "wsp_abc123", url: "https://example.com" });

useCreatePdfFromUrl mutation

Render a URL as a PDF via Cloudflare Browser Rendering. Creates a file row; invalidates file queries on success.

TypeScript
useCreatePdfFromUrl(options?: MutationOpts<File, PdfFromUrlParams>)

Types: File · PdfFromUrlParams

TypeScript
const pdf = useCreatePdfFromUrl();
pdf.mutate({ workspaceId: "wsp_abc123", url: "https://example.com" });

useCreateScreenshotFromUrl mutation

Capture a screenshot of a URL via Cloudflare Browser Rendering. Creates a file row; invalidates file queries on success. Screenshots are plain files — not automatically promoted to the image entity.

TypeScript
useCreateScreenshotFromUrl(options?: MutationOpts<File, ScreenshotFromUrlParams>)

Types: File · ScreenshotFromUrlParams

TypeScript
const shot = useCreateScreenshotFromUrl();
shot.mutate({ workspaceId: "wsp_abc123", url: "https://example.com" });

useDeleteFile mutation

Soft-delete a file.

TypeScript
useDeleteFile(options?: MutationOpts<SuccessResponse, string>)

Types: SuccessResponse

useDownloadFile composite

Fetch a presigned download URL for a file. This is a query (not a mutation) because the URL is idempotent for the caller — React Query will cache it per file id. Disable with enabled: false and call refetch() on demand if you want explicit "click to download" behavior.

TypeScript
useDownloadFile(id: string, options?: QueryOpts<FileDownloadResponse>)

Types: FileDownloadResponse

TypeScript
const { data } = useDownloadFile("fil_abc123");
return <a href={data?.url}>Download</a>;

useListFiles query

List files with pagination.

TypeScript
useListFiles(params?: Omit<ListFilesParams, | > & { filter?: FileFilter; orderBy?: FileOrderBy[]; } & FileShorthands, options?: QueryOpts<Page<File>>)

Types: ListFilesParams · FileFilter · FileOrderBy · FileShorthands · Page · File

usePurgeFile composite

Permanently delete a soft-deleted file.

TypeScript
usePurgeFile(options?: MutationOpts<SuccessResponse, PurgeFileParams>)

Types: SuccessResponse · PurgeFileParams

useRestoreFile composite

Restore a soft-deleted file.

TypeScript
useRestoreFile(options?: MutationOpts<File, string>)

Types: File

useRetrieveFile query

Get a file by ID.

TypeScript
useRetrieveFile(id: string, options?: QueryOpts<File>)

Types: File

useSignFileUploadParts composite

Sign additional part URLs for an in-progress upload.

TypeScript
useSignFileUploadParts(options?: MutationOpts<SignFileUploadPartsResponse, SignFileUploadPartsParams>)

Types: SignFileUploadPartsResponse · SignFileUploadPartsParams

TypeScript
const sign = useSignFileUploadParts();
sign.mutate({ id: "fil_abc123", partNumbers: [2, 3] });

useUpdateFile mutation

Update a file (rename / move to another directory).

TypeScript
useUpdateFile(options?: MutationOpts<File, UpdateFileParams>)

Types: File · UpdateFileParams