Skip to content

Display earned Partiful profile badges as read-only metadata #100

Description

@KalebCole

User scenario

I want to see the Partiful badges and party statistics shown on my profile so an agent can describe my profile accurately without treating those badges as editable account fields.

Problem

The CLI displays no earned profile badges. Profile reads are also missing today, so hosted and attended counts and special account badges disappear entirely outside Partiful's UI.

Verified product and API facts

The current product derives party-count badges from getUsersPartyStats, which supplies hostedCount and attendedCount. Special badges come from user _tags: vip renders as "Very Important Partier" and employee renders as "Team Partiful."

An authenticated read of getUsersPartyStats succeeded during investigation. No badge mutation exists in the inspected product contract, and no mutation was attempted.

Proposed experience

partiful profile badges
partiful profile get --include badges
partiful schema profile.badges

Suggested normalized JSON:

{
  "badges": {
    "hosted": 12,
    "attended": 34,
    "vip": false,
    "teamPartiful": false
  }
}

Human output may use Partiful's display labels. JSON should use stable normalized keys and preserve zero-count and no-badge states.

Scope boundaries

  • Badges are read-only derived metadata. Do not add badge editing flags to profile updates.
  • Do not print raw _tags, internal entitlement flags, or unrelated account metadata.
  • Do not infer unverified badge tiers or achievements from counts.
  • Keep the command useful when Partiful adds an unknown tag: omit it safely or expose a documented unknown value without claiming a display meaning.

Discovery needed

Verify whether getUsersPartyStats accepts only the authenticated user or also permitted public profile IDs, how counts behave for deleted/private events, and whether other current badge tags have an official display mapping. Check the public-profile response before supporting lookups for other users.

Acceptance criteria

  • profile badges returns hosted and attended counts plus verified special badges.
  • profile get --include badges uses the same normalized representation.
  • Zero counts and no special tags return a successful, deterministic empty state.
  • Unknown tags do not leak raw account metadata or receive invented labels.
  • API, permission, and malformed-response failures produce structured errors.
  • Normal output does not expose user IDs or raw _tags.
  • CLI help, schema introspection, unit tests, and one read-only authenticated E2E ship together.

Related work

The profile read/edit/photo issue owns mutable account fields. #18 covers aggregate event analytics, not the small read-only badge contract displayed on a profile.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions