-
Notifications
You must be signed in to change notification settings - Fork 6
Description
Currently the CLI (and Basecamp 3 API generally) makes it impossible to programmatically download inline attachments embedded in messages, comments, and todos. These are stored at storage.3.basecamp.com and require a browser session cookie — requests with an API bearer token return 404, and unauthenticated requests redirect to the sign-in page.
By contrast, files uploaded to the vault (3.basecampapi.com/.../uploads/.../download) are downloadable with a bearer token and work well.
The gap: Inline attachments — PDFs, images, code files, spreadsheets dropped directly into a message body — are completely inaccessible outside a browser. There is no API endpoint to exchange a bearer token for a session-authenticated download URL, and the CLI exposes no download command.
What I'm trying to do: Build an automated sync tool that pulls all Basecamp project content (messages, todos, attachments) into a local folder for offline use in a research workflow. Vault files work fine. The inline blobs are a dead end.
Request: One of the following would solve this:
A CLI command like basecamp download that uses the stored OAuth session to fetch blob URLs.
An API endpoint that exchanges a bearer token + blob SGID for a time-limited signed download URL (similar to how some services issue presigned S3 URLs via API).
Documentation of any existing workaround if one exists.
Is there a supported path for this, or is it intentionally restricted?