Sign inGet Started

Open a browser fallback for a media upload

POST
/v1/asset-upload-sessions/{upload_id}/browser
const handoff = await bird.assets.uploads.handoff(
  "aus_01krdgeqcxet5s7t44vh8rt9mg",
);
if (handoff.browser_url) console.log(handoff.browser_url);
响应200
{
  "session": {
    "id": "aus_01krdgeqcxet5s7t44vh8rt9mg",
    "state": "pending",
    "expires_at": "2026-11-04T23:00:00Z",
    "name": "Invoice",
    "alt_text": null,
    "folder_id": null,
    "file": {
      "filename": "invoice.pdf",
      "content_type": "application/pdf",
      "size_bytes": 1024,
      "sha256": "4e2090a479f7ce6b17ad31f991988f12571bcafbd4a441cc4063644fc1400ae0"
    },
    "result": null,
    "last_error": null,
    "next": [],
    "asset": null
  },
  "browser_url": "https://bird.com/dashboard/w/ws_01krdgeqcxet5s7t44vh8rt9mg/media-library/uploads/aus_01krdgeqcxet5s7t44vh8rt9mg",
  "next": [
    {
      "kind": "external",
      "description": "Open browser_url and have a person with asset write access select the original file and publish it. Their browser must reach the storage hostname. Opening the page does not complete the upload."
    },
    {
      "kind": "operation",
      "operation": "getAssetUploadSession",
      "params": {
        "upload_id": "aus_01krdgeqcxet5s7t44vh8rt9mg"
      },
      "description": "After the person finishes, read the saved result using the original workspace and connection."
    }
  ]
}

Offers an existing upload session to a signed-in person with asset write access in its workspace. Only the same OAuth connection or API key that created the session can request this fallback. The file, metadata, capacity reservation and one-hour deadline stay unchanged. Repeating the request returns the same page for a pending session. A non-pending session returns its current state without a browser URL. Enabling the handoff allows any currently authorized person in that workspace to complete or cancel it, independently of the original connection's continued access. The person must select matching file bytes; opening the page never publishes them.

参数

upload_idstring

ID of the media-library upload session.

响应载荷

session
object
必填

The original upload session and any saved publication receipt. In this response, session.next is empty; follow the top-level next steps.

显示子属性
session.id
string
必填
session.state
string
必填

Upload progress. Pending accepts a transfer; finalizing is checking and publishing it. Completed has a saved result. Rejected, cancelled and expired allow no new upload instruction or publication. An already issued upload URL can remain usable until its expiry.

Possible values: pending, finalizing, completed, rejected, cancelled, expired

session.expires_at
string
必填

Absolute session expiry. Completion must finish before this deadline; starting it or refreshing an upload instruction does not extend it.

session.name
string
必填

Frozen display name for a newly published asset.

session.alt_text
nullable string
必填

Frozen alternative text, or null when omitted.

session.folder_id
nullable string
必填

Frozen destination folder, or null for the library root.

session.file
object
必填

Exact properties of the original file. Calculate size and SHA-256 from its bytes before creating a session. Images allow up to 5,242,880 bytes; other supported media allow up to 25,000,000 bytes.

显示子属性
session.result
nullable object
必填

Saved publication receipt, or null until completed.

显示子属性
session.result.asset_id
string
必填
session.result.reused_existing
boolean
必填

Whether the upload reused an existing active asset with identical source bytes. Reused assets keep their original metadata and folder.

session.result.completed_at
string
必填

When publication completed.

session.last_error
nullable object
必填

Last completion error, or null when no failure is recorded.

显示子属性
session.next
array of object
必填

Available next steps for this session.

显示子属性
session.asset
nullable object
必填

Canonical asset when available, or null before completion or when unavailable.

显示子属性
browser_url
nullable string
必填

Bird page for a pending session, or null when it no longer accepts an upload. The link grants no access; the person must sign in and have asset write permission in the workspace.

next
array of object
必填

Ordered steps to finish the fallback or read its outcome.

显示子属性