Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .surface
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ hey box --limit
hey boxes
hey boxes --all
hey boxes --limit
hey bubble-up-now
hey bubble-up-now --topic-id
hey bulk-reply
hey bulk-reply preview
hey bulk-reply send
Expand Down Expand Up @@ -118,6 +120,8 @@ hey labels --all
hey labels --limit
hey move
hey move --to
hey pop
hey pop --topic-id
hey recordings
hey recordings --all
hey recordings --ends-on
Expand Down
4 changes: 3 additions & 1 deletion API-COVERAGE.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ The remaining HTML-reading gaps use the SDK's authenticated HTML helper and are
| `/trailbox.json` | GET | SDK `Boxes().GetTrailbox` | `hey box trailbox` | covered |
| `/asidebox.json` | GET | SDK `Boxes().GetAsidebox` | `hey box asidebox` | covered |
| `/laterbox.json` | GET | SDK `Boxes().GetLaterbox` | `hey box laterbox` | covered |
| `/bubblebox.json` | GET | SDK `Boxes().GetBubblebox` | `hey box bubblebox` | covered |
| `/bubble_up.json` | GET | SDK `Boxes().GetBubblebox` | `hey box bubblebox`, Bubble Up target verification | covered |
| `/postings/bulk_bubble_up_now.json` | POST | SDK `Postings().BubbleUpNow` | `hey bubble-up-now <posting-id> --topic-id <topic-id>` | covered: exact-pair preflight + verification reads |
| `/postings/bubble_up.json` | DELETE | SDK `Postings().CancelBubbleUp` | `hey pop <posting-id> --topic-id <topic-id>` | covered: exact-pair preflight + verification reads |
| `/my/navigation.json` | GET | SDK `Identity().GetNavigation` | `hey labels`, Mail TUI navigation | covered |
| `/folders/{id}.json` | GET | SDK `Folders().GetPage` | `hey label <id>`, Mail TUI labels | covered |
| `/postings/filings.json` | POST | SDK `Postings().File` | `hey label add`, TUI `g` | covered |
Expand Down
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,8 @@ hey boxes --quiet --jq '.[].id'
```bash
hey boxes # list mailboxes
hey box imbox # list email threads in a box (by name or ID)
hey bubble-up-now 123 --topic-id 456 # keep one exact posting at the top of the Imbox
hey pop 123 --topic-id 456 # remove that exact posting from Bubble Up
hey labels # list labels and their IDs
hey label 789 --all # list all email threads with a label
hey label add 12345 --to 789 # add a label to a thread
Expand Down Expand Up @@ -267,7 +269,9 @@ The Screener is where first-time senders wait. `hey screener list` returns clear

`--attach` is repeatable on `hey compose`, `hey reply`, and `hey bulk-reply send`, and attachment-only messages are supported. The CLI validates and uploads every file before sending the email. `hey attachments <topic_id>` returns stable message-and-position IDs such as `456:1`; pass an ID to `hey attachments save`. Saving uses the original filename by default, accepts `--output` for a file or directory, and preserves existing files unless `--force` is set.

Organization actions take the `id` values returned by `hey box --json`, `hey label --json`, or `hey search --json`. Label IDs come from `hey labels`; `hey label` returns `next_page` and `total_count`, accepts `--page <next_page>` for continuation, and supports `--all` for complete traversal. HEY creates a label while adding it to at least one thread, so `hey label create` requires thread item IDs. Move destinations are Imbox, The Feed, Set Aside, Reply Later, or Paper Trail. Bubble Up requires a scheduled date and is not available through `hey move`. Trashing a shared thread removes your access instead of deleting it for everyone. Ignored threads remain in their box and can be restored with `hey stop-ignoring`.
`hey bubble-up-now <posting-id> --topic-id <topic-id>` and `hey pop <posting-id> --topic-id <topic-id>` require both IDs from the same posting returned by `hey box imbox --all` (the topic ID is in `app_url`). Each command reads the complete Imbox and Bubble Up listings before acting, calls the generated posting operation through the HEY SDK, and verifies the exact result with fresh reads. Safe repeats return structured `changed: false`, `no_op: true` results. If a listing is transiently incomplete, the command fails without mutating and asks the caller to retry only after the exact pair is visible.

Organization actions take the `id` values returned by `hey box --json`, `hey label --json`, or `hey search --json`. Label IDs come from `hey labels`; `hey label` returns `next_page` and `total_count`, accepts `--page <next_page>` for continuation, and supports `--all` for complete traversal. HEY creates a label while adding it to at least one thread, so `hey label create` requires thread item IDs. Move destinations are Imbox, The Feed, Set Aside, Reply Later, or Paper Trail; Bubble Up is handled separately by the exact-target commands above. Trashing a shared thread removes your access instead of deleting it for everyone. Ignored threads remain in their box and can be restored with `hey stop-ignoring`.

### Watching for changes

Expand Down
Loading