Circle V2 API Docs
    Preparing search index...
    triggeredChartReviewJobSpecSchema: ZodObject<
        {
            entityId: ZodPipe<ZodNumber, ZodTransform<EntityId, number>> & zIdInnerType<
                ZodNumber,
            >;
            key: ZodString;
            patientId: ZodPipe<ZodString, ZodTransform<PatientId, number>> & zIdInnerType<
                ZodString,
            >;
            templateIds: ZodArray<
                ZodPipe<ZodString, ZodTransform<AuditTemplateId, number>> & zIdInnerType<
                    ZodString,
                >,
            >;
            triggerId: ZodPipe<ZodString, ZodTransform<ChartReviewTriggerId, string>> & zIdInnerType<
                ZodString,
            >;
            ttlHours: ZodNumber;
        },
        $strip,
    > = ...

    Canonical shape of a triggered chart-review job the sync pipeline carries from the sweep to the queue. key is the v1-format idempotency key — the cross-app dedup contract (see trigger-keys.helpers.ts). Branded ids parse from the JSON primitives off the queue wire. This schema is the single source of truth: downstream jobbables import it rather than redefining their own.