FeedbackPost: {
    audience: FeedbackAudience;
    author: {
        avatarUrl: string | null;
        isStaff: boolean;
        isYou: boolean;
        name: string;
    };
    board: {
        boardId: string;
        name: string;
        slug: string;
    } | null;
    body: string;
    commentsLocked: boolean;
    createdAt: string;
    declinedReason: string | null;
    editedAt: string | null;
    eta: string | null;
    featured: boolean;
    hidden: boolean;
    hiddenReason: string | null;
    importedVotes: number;
    mergedInto: number | null;
    number: number;
    officialAnswer: FeedbackOfficialAnswer | null;
    pinned: boolean;
    shippedAt: string | null;
    status: FeedbackStatus;
    tags: FeedbackTag[];
    title: string;
    voteCount: number;
    votingLocked: boolean;
}

One post as the site shows it. Mirrors FeedbackPostCard in Noti-v3.

Type declaration

  • audience: FeedbackAudience

    Effective audience - show a badge ("Premium only") when not public.

  • author: {
        avatarUrl: string | null;
        isStaff: boolean;
        isYou: boolean;
        name: string;
    }

    avatarUrl null = an imported / deleted-user post: show initials.

    • avatarUrl: string | null
    • isStaff: boolean
    • isYou: boolean
    • name: string
  • board: {
        boardId: string;
        name: string;
        slug: string;
    } | null
  • body: string

    Markdown - render with an allowlist.

  • commentsLocked: boolean
  • createdAt: string
  • declinedReason: string | null

    Only on declined posts.

  • editedAt: string | null
  • eta: string | null

    "2026-11" or "2026-Q4", only on planned / inProgress posts.

  • featured: boolean
  • hidden: boolean

    True only for the author or staff - the post is hidden from everyone else.

  • hiddenReason: string | null

    Shown to the author when staff hid it.

  • importedVotes: number

    Votes carried over from the old Fider board.

  • mergedInto: number | null
  • number: number
  • officialAnswer: FeedbackOfficialAnswer | null

    The pinned staff answer, for showing on cards (lists, roadmap, featured, ...). Null when there is none.

  • pinned: boolean
  • shippedAt: string | null

    ISO.

  • status: FeedbackStatus
  • tags: FeedbackTag[]
  • title: string
  • voteCount: number

    Includes importedVotes.

  • votingLocked: boolean