REST API ReferenceEndpointsProjects

Get timeline interchange job

Returns the current status of a timeline interchange job started via `POST /v1/projects/{projectId}/timeline-interchange`, and, once `status` is `succeeded`, the signed download URL and the hydrated interchange `file`. Poll this endpoint until `status` is `succeeded`, `failed`, or `cancelled`. The signed URL is private and valid for 24 hours; this endpoint automatically re-signs it when it is within an hour of expiring. Use `interchangeFileId` with `POST /v1/files/{fileId}/hydrate` if you need to re-sign the file directly later.

Authentication

AuthorizationBearer
API key from [app.videogen.io/developers](https://app.videogen.io/developers). The full key is only shown once when you create it.

Path parameters

interchangeJobIdstringRequired

The timeline interchange job id (e.g. vg_inte_...) returned by POST /v1/projects/{projectId}/timeline-interchange.

Response

Timeline interchange status.
interchangeJobIdstring

Opaque timeline interchange job id (e.g. vg_inte_...) matching the original request.

projectIdstring

Id of the source project (e.g. vg_proj_...).

formatenum

Editor interchange document format. FCPXML is Final Cut Pro (also imported by DaVinci Resolve and others). PREMIERE_XML is the Final Cut 7 xmeml XML that Adobe Premiere Pro imports natively. OTIO is OpenTimelineIO, the vendor-neutral format. SRT is a SubRip caption sidecar.

mediaDeliveryenum

How the interchange document references media. REMOTE_URLS produces a single document that links to signed media URLs. BUNDLE produces a zip containing the document plus every referenced media file, referenced by relative path, for durable offline relinking.

statusenum

Lifecycle status shared by every asynchronous job (tool executions, workflow runs, remix actions, project exports, and timeline interchange jobs). pending and running are in-progress; succeeded, failed, and cancelled are terminal.

progressPercentagedouble0-100

Completion progress for the current attempt (0-100). Always 100 when status is succeeded.

attemptIndexinteger>=0

Zero-based index of the current or most recent job attempt.

downloadUrlstring or nullformat: "uri"

Private signed download URL for the interchange document (or the media bundle zip when mediaDelivery is BUNDLE), valid for 24 hours from when it was signed. Always present as a field; null until status is succeeded. This endpoint automatically re-signs the URL when it is within an hour of expiring. To fetch a fresh URL directly from the underlying file at any time, use interchangeFileId with the hydrate-file endpoint.

downloadUrlExpiresAtinteger or null

Seconds since epoch (Unix timestamp) when downloadUrl expires. null while downloadUrl is null.

interchangeFileIdstring or null

File id (e.g. vg_file_...) of the interchange document or bundle zip. Always present as a field; null until status is succeeded. Pass it to POST /v1/files/{fileId}/hydrate to fetch fresh signed URLs directly from the file at any time.

fileobject or null

Hydrated interchange file metadata with a signed download URL. Always present as a field; null until status is succeeded. Its signed URL follows the same 24-hour validity and automatic re-signing as downloadUrl.

errorobject or null

Error details. Always present as a field; null unless status is failed.