Skip to content

KalebCole/partiful-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

52 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Banner

partiful-cli

Manage Partiful events from your terminal. JSON-first, script-friendly.

npm version license node

Try it now

npx partiful-cli --help

Install

# Install globally
npm install -g partiful-cli

# Or run without installing
npx partiful-cli <command>

# Or clone and link
git clone https://github.com/KalebCole/partiful-cli && cd partiful-cli
npm install && npm link

Features

  • πŸŽ‰ Events β€” create, list, get, update, cancel
  • πŸ‘₯ Guests β€” list RSVPs, send invites
  • πŸ“± Blasts β€” text all your guests at once
  • 🎨 Posters β€” browse and attach poster images
  • πŸ“‹ Templates β€” save and reuse event configs
  • πŸ“¦ Bulk β€” batch create/update from JSON
  • πŸ‘€ Watch β€” live RSVP polling with NDJSON output
  • πŸ”„ Clone β€” duplicate events to new dates
  • πŸ“€ Export β€” event + guests to JSON or CSV
  • 🩺 Doctor β€” diagnose auth and setup issues

Quick Start

# 1. Authenticate
partiful auth login +12065551234

# 2. Verify setup
partiful doctor

# 3. Create your first event
partiful events create --title "Game Night" --date "Apr 15 7pm" --location "My Place"

# 4. List your events
partiful events list

# 5. Invite and blast (use an eventId from step 4)
partiful guests list <eventId>
partiful blasts send <eventId> --message "See you tonight!"

Commands

auth β€” Manage authentication

partiful auth login +12065551234    # SMS-based auth
partiful auth status                # Check current auth
partiful auth logout                # Clear credentials

events β€” Manage events

partiful events list                # Upcoming events
partiful events list --past         # Past events
partiful events get <id>            # Event details
partiful events create --title "Party" --date "May 1 8pm" --location "Rooftop"
partiful events update <id> --title "New Title"
partiful events cancel <id>

guests β€” Manage event guests

partiful guests list <eventId>      # All guests with RSVP status
partiful guests invite <eventId>    # Send invites

blasts β€” Text guests

partiful blasts send <eventId> --message "Doors open at 7!"

contacts β€” Manage contacts

partiful contacts list              # All contacts
partiful contacts list "alex"       # Search by name

cohosts β€” Manage co-hosts

partiful cohosts list <eventId>
partiful cohosts add <eventId> --name "Alex" --name "Jordan"
partiful cohosts remove <eventId>

posters β€” Browse poster catalog

partiful posters list
partiful posters search "birthday"
partiful posters get <posterId>

template β€” Event templates

partiful template list                          # List saved templates
partiful template show <name>                   # Show template details
partiful template save --name "Game Night"       # Save a template
partiful template edit <name>                   # Edit a template
partiful template delete <name>                 # Delete a template

bulk β€” Batch operations

partiful bulk create events.json                              # Create from JSON file
partiful bulk update --filter "title contains Game" --location "New Spot"  # Bulk update

schema β€” Introspect command parameters

partiful schema events.create       # Show params for events create

doctor β€” Health check

partiful doctor                     # Check auth, connectivity, setup

Helper commands

Helpers use the + prefix:

# Clone an event to next week
partiful +clone <eventId>
partiful +clone <eventId> --date "May 1 8pm" --title "Game Night v2"

# Watch RSVPs in real-time (NDJSON stream)
partiful +watch <eventId> --interval 15 --duration 30

# Export event + guest list
partiful +export <eventId> --format json --output party.json
partiful +export <eventId> --format csv

# Get shareable link
partiful +share <eventId>

Global Flags

--format <fmt> (json/table/csv/ndjson) Β· --dry-run Β· -y, --yes Β· --force Β· -v, --verbose Β· -o, --output <path> Β· --no-color

Auth Setup

Partiful doesn't have a public API. This CLI authenticates via SMS verification through Firebase.

partiful auth login +12065551234   # sends SMS code, completes auth
partiful auth status               # verify you're logged in

How it works:

  1. You provide your phone number (E.164 format, e.g. +12065551234)
  2. Partiful sends an SMS verification code to that number
  3. On macOS with imsg installed, the code is auto-retrieved from Messages
  4. Otherwise, you'll be prompted to enter it manually
  5. Credentials are saved to ~/.config/partiful/auth.json

Tokens auto-refresh when expired. Run partiful doctor if anything seems off.

JSON Output

All commands support --format json. Responses follow a consistent envelope:

{
  "status": "success",
  "data": { ... },
  "metadata": {}
}

Errors return { "status": "error", "error": { "code": 1, "type": "api_error", "message": "..." } }.

Exit codes: 0 success Β· 1 API error Β· 2 auth error Β· 3 validation Β· 4 not found Β· 5 internal.

Contributing

git clone https://github.com/KalebCole/partiful-cli && cd partiful-cli
npm install
npm link          # makes `partiful` available globally for testing
npm test          # run tests

License

MIT

About

CLI for creating Partiful events via API (no browser needed)

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors