Use case
A common new-project setup flow: create a project (often from a template), then move existing messages from an intake/staging project into it. People are doing this with AI agents driving the CLI, and it's the step that can't be automated.
The web UI supports Move / Copy to another project for messages (and other recordings), but neither the CLI (v0.11.0) nor the public API exposes it:
basecamp messages has list, show, create, update, publish, pin, unpin, trash, archive, restore — no move/copy
PUT /messages/:id.json only accepts subject, content, category_id
- The only move endpoints in bc3-api are card/column moves and position endpoints
Current workaround and why it falls short
messages show → messages create in the target project → re-post comments → trash original. This loses the original author, timestamps, comment authorship, boosts and history, and re-notifies people.
Request
Something like:
basecamp messages move <id|url> --to <project> [--message-board <id>]
basecamp messages copy <id|url> --to <project>
(or a generic basecamp recordings move/copy), backed by a public API endpoint mirroring the web UI's Move/Copy.
Use case
A common new-project setup flow: create a project (often from a template), then move existing messages from an intake/staging project into it. People are doing this with AI agents driving the CLI, and it's the step that can't be automated.
The web UI supports Move / Copy to another project for messages (and other recordings), but neither the CLI (v0.11.0) nor the public API exposes it:
basecamp messageshaslist, show, create, update, publish, pin, unpin, trash, archive, restore— nomove/copyPUT /messages/:id.jsononly acceptssubject,content,category_idCurrent workaround and why it falls short
messages show→messages createin the target project → re-post comments → trash original. This loses the original author, timestamps, comment authorship, boosts and history, and re-notifies people.Request
Something like:
(or a generic
basecamp recordings move/copy), backed by a public API endpoint mirroring the web UI's Move/Copy.