Circle V2 API Docs
    Preparing search index...
    createResponseTrailInputSchema: ZodDiscriminatedUnion<
        [
            ZodObject<
                {
                    auditResponseId: ZodPipe<
                        ZodString,
                        ZodTransform<AuditResponseId, number>,
                    > & zIdInnerType<ZodString>;
                    comment: ZodOptional<ZodString>;
                    kind: ZodLiteral<"existing">;
                    markedAs: ZodEnum<
                        {
                            fail: "fail";
                            late: "late";
                            missing: "missing";
                            needs_review: "needs_review";
                            not_applicable: "not_applicable";
                            not_due_yet: "not_due_yet";
                            pass: "pass";
                            summary_entered: "summary_entered";
                        },
                    >;
                    response: ZodOptional<ZodString>;
                },
                $strip,
            >,
            ZodObject<
                {
                    auditQuestionId: ZodPipe<
                        ZodString,
                        ZodTransform<AuditQuestionId, number>,
                    > & zIdInnerType<ZodString>;
                    auditRunId: ZodPipe<ZodString, ZodTransform<AuditRunId, number>> & zIdInnerType<
                        ZodString,
                    >;
                    comment: ZodOptional<ZodString>;
                    kind: ZodLiteral<"manual">;
                    markedAs: ZodEnum<
                        {
                            fail: "fail";
                            late: "late";
                            missing: "missing";
                            needs_review: "needs_review";
                            not_applicable: "not_applicable";
                            not_due_yet: "not_due_yet";
                            pass: "pass";
                            summary_entered: "summary_entered";
                        },
                    >;
                    response: ZodOptional<ZodString>;
                },
                $strip,
            >,
        ],
        "kind",
    > = ...

    Two shapes:

    • { auditResponseId } — mark an existing row (AI overrides, edits to already-marked manual rows).
    • { auditRunId, auditQuestionId } — create-or-find a row for a manual question that hasn't been marked yet. Repo enforces that the referenced question has manual = true.