Circle V2 API Docs
    Preparing search index...

    Type Alias SaveTemplateAnnotationInput

    type SaveTemplateAnnotationInput = {
        contactLink?: { contactTypeId: string; fieldId: string } | null;
        coordinates: readonly SaveTemplateCoordinateInput[];
        generatedByAi?: boolean;
        id?: string;
        isExclusive?: boolean | null;
        prompt: string | null;
        type: FormAnnotationType;
    }
    Index

    Properties

    contactLink?: { contactTypeId: string; fieldId: string } | null

    The annotations_contact_fields row regenerateRequiredContactTypes rebuilds the form's kickoff requirements from. An object writes the link, null deletes it, omitted leaves it alone. AUTHORIZATION IS THE CALLER'S: this layer verifies nothing about whose contact type the uuid names.

    coordinates: readonly SaveTemplateCoordinateInput[]

    The field's boxes, 1..N — a checkbox with per-option prompts adds one row per option with value set.

    generatedByAi?: boolean

    Written only when stated — otherwise the column keeps its default (insert) or its current value (update).

    id?: string

    An EXISTING annotation OF THIS FORM to update in place; omit for a new field.

    isExclusive?: boolean | null

    Same write rule as generatedByAi: stated values (null included) are written, an omitted key leaves the column alone. The fill side falls back to v1's sentence match on null.

    prompt: string | null

    The full question text: v1's fill path reads this column verbatim.