Sign inGet Started

Refresh a media-library upload instruction

POST
/v1/asset-upload-sessions/{upload_id}/prepare
const upload = await bird.assets.uploads.prepare("aus_01krdgeqcxet5s7t44vh8rt9mg");
console.log(upload.state);
Response200
{
  "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"
    }
  ]
}

Refreshes the temporary upload instruction for a pending session. File properties and the one-hour session deadline remain unchanged. No replacement file or metadata is accepted.

Parameters

upload_idstring

ID of the media-library upload session.

Response Payload

id
string
required
state
string
required

The session is awaiting transfer and completion.

Value: pending

expires_at
string
required

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

name
string
required

Frozen display name for a newly published asset.

alt_text
nullable string
required

Frozen alternative text, or null when omitted.

folder_id
nullable string
required

Frozen destination folder, or null for the library root.

file
object
required

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.

Show child attributes
result
nullable object
required

Saved publication receipt, or null until completed.

Show child attributes
last_error
nullable object
required

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

Show child attributes
next
array of object
required

Available next steps for this session.

Show child attributes
upload
object
required

Send the original file bytes to this URL with the exact headers and content length. Send no Bird credentials or cookies. Keep the URL private and call complete after the PUT succeeds.

Show child attributes
upload.method
string
required

HTTP method for transferring the file.

Value: PUT

upload.url
string
required

Temporary HTTPS upload URL. It can be reused for the same fixed file until expiry.

upload.required_headers
object
required

Headers the upload request must send exactly as provided.

upload.content_length
integer
required

Required HTTP content length in bytes.

upload.expires_at
string
required

Upload instruction expiry, bounded by the session and signing credentials.

Continue with the documentation, guides and examples for this topic.