Upload from URLs
upload_from_urlsUpload up to 100 assets in one call by giving Playbook public URLs to fetch. All assets land in the same board. Returns an array of skeleton assets immediately; the byte fetches run asynchronously per asset in the background. Requires a token with the write scope. Playbook fetches each URL itself, anonymously — links behind a login, expired signed URLs, and files that exist only on someone's machine cannot be ingested here. For those, use share_board with enable_uploads. It returns a link a person can drop files on without signing in, and whatever they add lands on that board for you to collect with list_assets. It needs a live human and it shows the board's existing contents to anyone holding the link, so reach for it only once no fetchable URL is available. Each fetch runs to a time budget (five minutes of streaming), so a source that is very large or very slow fails with "Source URL too large to fetch; upload manually" — when that happens, send those bytes yourself with create_upload_urls rather than retrying. Tip: validate collection_token with get_board first — an unknown token silently falls back to an anonymous default board.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| assets | Yes | Array of URL ingest specs (1-100 items) | |
| organization | No | Workspace slug, as returned by list_organizations. Omit it when the account has a single workspace — it is then resolved from your token. Pass it only when the account has several, or when you mean a workspace other than the obvious one. | |
| collection_token | Yes | Destination board token (applied to every asset) |