One post: its targets with status, rendered caption, media, permalink once live, last_error and retry advice; its approval (state, the reviewer's note or reject reason, who and when, and changes: each change a person asked for, for the whole post or one platform, with who wrote it, when, and whether it is addressed yet); allowed_actions; and history, the audit trail of who or what did each step. Each target that went live has engagement: its newest numbers (views, impressions, reach, likes, comments, shares, saves, clicks; null where the platform gives none), engagement_rate (likes, comments, shares and saves per view), measured_at (when they were read), and comments (total, waiting_for_reply, and whether Yaybird can reply there). It draws nothing; show_posts with its post_id draws it for the person. A post waiting for approval whose time passed (approval.overdue) or is under 30 minutes away (due_soon) has suggested_times: the person picks one when they approve.