Skip to main content
provider: "smokeball" · Import only · Generally available The Smokeball connector browses matters and their document folders and imports a whole matter or a nested folder into a vault.
US region only, and the scope tier is always smokeball.us. Export to Smokeball is not available: supports_export is false in the providers array, and an export or both transfer returns 403.

Browsing

Browse with no parameters to list the matters the connected user can reach. Each matter is named by its number and title, and carries a folder reference to the matter’s document root, so you can import the whole matter or descend into a subfolder first. Pass query to filter matters by text.
cURL
Response
Smokeball has no search, folder contents, folder links or single-file fetch. Those endpoints answer 422 with search_not_supported, contents_not_supported, link_resolve_not_supported or fetch_not_supported, so build your picker on browse.

Importing a matter

cURL
Everything under the selected folder, at any depth, is imported.

Change detection

Smokeball has no change feed. Every run lists the whole selected folder again and compares it with the ledger, so additions, updates and deletions are all caught on every run, and unchanged files are not downloaded again. The cost is that each run is a full scan, which matters for large matters and for many synced links on the same account. Start with one-time imports, or a small number of synced links, and grow from there.

Rate budget and run capacity

Smokeball allows 5 requests per second (300 per minute). Case.dev paces all Smokeball traffic to that rate, across every connection, run and instance, so a busy import elsewhere can slow browsing for your users. Each connection runs at most two imports at once, whatever started them. A manual transfer while two are active returns 409 with data.error.code set to connection_capacity. This is not a connection problem: let the user retry once an active import finishes.

Reconnection

When Smokeball authorization lapses, the connection moves to reauth_required and a connection.reauth_required event fires. Send the user through the connect flow again; links resume with their ledgers intact.

Capabilities at a glance

Next steps

Import & Export

Link mechanics, policies, and progress

Errors & Recovery

Throttling, reauthorization, and capacity limits

All providers

Compare against the other supported providers