Sign inGet Started

Complete a media-library upload

POST
/v1/asset-upload-sessions/{upload_id}/complete
const upload = await bird.assets.uploads.complete("aus_01krdgeqcxet5s7t44vh8rt9mg");
console.log(upload.state);
Odpowiedź200
{
  "id": "aus_01krdgeqcxet5s7t44vh8rt9mg",
  "state": "pending",
  "folder_id": "asf_01krdgeqcxet5s7t44vh8rt9mg",
  "file": {
    "filename": "invoice.pdf",
    "content_type": "application/pdf",
    "size_bytes": 1024,
    "sha256": "4e2090a479f7ce6b17ad31f991988f12571bcafbd4a441cc4063644fc1400ae0"
  },
  "result": {
    "asset_id": "ast_01krdgeqcxet5s7t44vh8rt9mg"
  },
  "next": [
    {
      "kind": "operation"
    }
  ],
  "asset": {
    "id": "ast_01krdgeqcxet5s7t44vh8rt9mg",
    "url": "https://us1.assets.birdusercontent.com/6fcy8y6a483sewgnjk2g35y2qz/01krdgeqcxet5s7t44vh8rt9mg/document.pdf",
    "thumbnail_url": null,
    "name": "document.pdf",
    "content_type": "application/pdf",
    "kind": "document",
    "size_bytes": 48210,
    "width": null,
    "height": null,
    "alt_text": null,
    "folder_id": null,
    "deleted_at": null,
    "created_at": "2026-05-20T09:14:52Z",
    "updated_at": "2026-05-20T09:14:52Z"
  }
}

Verifies the uploaded file and publishes a media-library asset at a permanent public URL. Images use normal media-library processing; other supported files retain their bytes. Identical active files reuse the existing asset and metadata. Retries return the saved receipt and never recreate a removed result.

Parametry

upload_idstring

ID of the media-library upload session.

Treść odpowiedzi

id
string
wymagane
state
string
wymagane

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

expires_at
string
wymagane

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

name
string
wymagane

Frozen display name for a newly published asset.

alt_text
nullable string
wymagane

Frozen alternative text, or null when omitted.

folder_id
nullable string
wymagane

Frozen destination folder, or null for the library root.

file
object
wymagane

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.

Pokaż atrybuty podrzędne
file.filename
string
wymagane

Original filename, including its extension.

file.content_type
string
wymagane

Media type of the original file. Supported values are image/png, image/jpeg, image/gif, video/mp4, video/webm, video/quicktime, audio/mpeg, audio/mp4, audio/ogg, audio/wav, and application/pdf.

Supply the exact value without parameters. Unsupported values return E20001. Completion checks this against the file's contents.

file.size_bytes
integer
wymagane

Exact size of the original file in bytes.

file.sha256
string
wymagane

SHA-256 of the original bytes, encoded as lowercase hexadecimal.

result
nullable object
wymagane

Saved publication receipt, or null until completed.

Pokaż atrybuty podrzędne
last_error
nullable object
wymagane

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

Pokaż atrybuty podrzędne
next
array of object
wymagane

Available next steps for this session.

Pokaż atrybuty podrzędne
asset
nullable object
wymagane

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

Pokaż atrybuty podrzędne

Przejdź do dokumentacji, przewodników i przykładów dotyczących tego tematu.