Circle V2 API Docs
    Preparing search index...
    create: MutationProcedure<
        {
            input: { fileName: string; storageKey: string };
            meta: object;
            output: { id: FormId };
        },
    > = ...

    Registers an already-uploaded blank PDF as a form template. The browser uploads straight to Supabase, so the key is untrusted: it must sit under the caller's own prefix, and the bytes must be a PDF the fill engine can use. Both checks run BEFORE the insert, so a rejection needs no compensating delete. No resource middleware: like list, there is no existing form to authorize.