Post apitransfers complete
Finalize an upload transfer.
Optional request body fields control the metadata-extraction behavior:
extracted_metadata(object) — pre-extracted metadata from the staged-upload preview. When provided, persists this verbatim and suppresses the post-commit auto-extraction hook.skip_extraction(bool) — whentrue, suppresses auto-extraction and leaves metadata fields empty. The user explicitly opted out.
When neither field is set, behavior is unchanged: the auto-extraction completion hook fires after commit. This preserves the contract for callers (e.g. the electron app) that pre-date the staging UX.
Path Parameters
Response
Read-only representation of a transfer.
Includes denormalized labels (project_name, repository_name,
asset_content_title) so the client can render one row per
transfer without extra round-trips. Transfers are visible only to
the user who initiated them (GET /transfers/ lists the caller's own
transfers), and the labels reflect what the initiator could see at
initiation time — they remain readable even if the underlying
access grant is later revoked. project_* and repository_*
fields are nullable — an asset may have no owning project, and its
storage allocation may have been detached — clients MUST handle
null.
upload- Uploaddownload- Download
upload, download pending- Pendingclaimed- Claimedin_progress- In Progresscompleted- Completedfailed- Failedexpired- Expired
pending, claimed, in_progress, completed, failed, expired user- Usersystem- System
user, system browser- Browserclient- Client (SDK endpoint)
browser, client